python - Chrome Web 驱动程序返回无效的 Chrome 版本
问题描述
我试图创建一个 Chrome 驱动程序的实例。它抱怨 Chrome 版本 91 不兼容:
Current browser version is 91.0.4472.114 with binary path /usr/bin/google-chrome
但是,当我检查提到的 Chrome 二进制文件的版本时,它说我安装了 92 版:
$ /usr/bin/google-chrome --version
Google Chrome 92.0.4515.131
看起来该消息具有误导性。可能是什么原因?
完整脚本:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
options = webdriver.ChromeOptions()
options.add_experimental_option("prefs", prefs)
options.add_argument("--remote-debugging-port=9222")
options.add_argument("--headless")
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
完整的堆栈跟踪:
====== WebDriver manager ======
Current google-chrome version is 92.0.4515
Get LATEST driver version for 92.0.4515
Driver [/home/some-user/.wdm/drivers/chromedriver/linux64/92.0.4515.107/chromedriver] found in cache
Traceback (most recent call last):
File "/project/test.py", line 20, in <module>
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
File "/some-virtual-env/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in __init__
RemoteWebDriver.__init__(
File "/some-virtual-env/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/some-virtual-env/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/some-virtual-env/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/some-virtual-env/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 92
Current browser version is 91.0.4472.114 with binary path /usr/bin/google-chrome
编辑:删除以下行:
options.add_argument("--remote-debugging-port=9222")
解决了这个问题。更改端口也是如此。
解决方案
推荐阅读
- azure - Azure Web Services [Web App for Containers (linux)] - 如何定期防止超时
- laravel - 仅在开发人员中安装 Laravel Telescope 的说明不明确
- ruby - 如何将字符串中的散列转换为散列?
- javascript - 单击时如何计算具有绝对位置的vue组件的左侧和顶部
- ios - 在 iOS (PhoneGap) 应用程序中未收到任何推送通知
- json - 如何在 bash shell 中合并具有唯一 InstanceId 的对象?
- javascript - 如何在 Javascript 中更新嵌套的 JSON 键?
- javascript - 如果持续时间为 24 小时,Moment.js 返回 2 天
- asynchronous - 未取消 未来
- database - 网络性能对数据库 (RDS) 的影响