我刚刚卸载了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)
型
3条答案
按热度按时间5jdjgkvh1#
此错误消息...
字符串
...意味着 ChromeDriver 无法启动/产生新的 Browsing Context,即 *Chrome浏览器 * 会话。
您的主要问题是您正在使用的二进制文件版本之间的不兼容,如下所示:
支持Chrome v66-68
支持Chrome版本85
因此,ChromeDriver v2.40 和 Chrome Browser v85.0 之间存在明显的不匹配
解决方案
确保:
@Test
。tearDown(){}
方法中调用driver.quit()
,以优雅地关闭和销毁 WebDriver 和 Web Client 示例。smdnsysy2#
根据您的操作系统自动获取chrome二进制文件路径:
此函数使用platform.system()检查当前操作系统,并返回Chrome二进制文件的预期路径。
它处理以下位置上的默认Chrome位置:
如果操作系统不是上述操作系统之一,则会引发异常。
该返回值可用于设置Selenium的ChromeOptions中的binary_location。
字符串
xpszyzbs3#
为了有一个干净的代码和停止跟踪chrome路径/版本,我建议你使用webdriver_manager
安装它
字符串
像这样使用它
型
但如果不想使用它这里是本地浏览器的代码
型
但我完全推荐使用第一个版本。