我刚刚卸载了 Chrome,因为它表现得很奇怪(现已修复),之后 Python 中的 Selenium 无法识别 Chrome 驱动程序二进制文件,这非常奇怪,因为它应该完全不受影响,并且位于不同的位置,并且与我在桌面上使用的 Chrome 版本不同,代码如下,并且已经工作多年。
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--load-extension='+exension_path)
driver = webdriver.Chrome(executable_path=chrome_driver_folder,options=chrome_options)
有人知道到底发生了什么吗?我收到以下错误:
WebDriverException: Message: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)
最佳答案
此错误消息...
WebDriverException: Message: unknown error: cannot find Chrome binary (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)
...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 session 。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
- 您正在使用chromedriver=2.40
- chromedriver=2.40 的发行说明明确提到以下内容:
Supports Chrome v66-68
- 由于您已卸载 Chrome 并重新安装,因此您可能使用的是最新的 chrome=85.0
- ChromeDriver v85.0 的发行说明明确提到以下内容:
Supports Chrome version 85
因此,ChromeDriver v2.40 和 Chrome 浏览器 v85.0 之间存在明显的不匹配
<小时/>解决方案
确保:
- Selenium 已升级至当前发布的 Version 3.141.59 .
- ChromeDriver 已更新为当前 ChromeDriver v85.0级别。
- Chrome 已更新至当前 Chrome 版本 85.0 级别。 (根据 ChromeDriver v85.0 release notes )
- 如果您的基本Web 客户端版本太旧,请将其卸载并安装最新的 GA 和已发布版本的Web 客户端。
- 通过IDE清理您的项目工作区,并仅使用所需的依赖项重建项目。
- 以非root用户身份执行
@Test
。 - 始终在
tearDown(){}
方法中调用driver.quit()
来关闭和销毁 WebDriver 和 Web Client 优雅地实例化。
关于python - Selenium 驱动的 ChromeDriver 找不到 Chrome 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73192651/