出于兼容性原因,我更倾向于使用Chrome版本55.0.2883.75和Chromedriver v.2.26。我从https://www.slimjet.com/chrome/google-chrome-old-version.php下载了https://chromedriver.storage.googleapis.com/index.html?path=2.26/和Chromedriver 2.26的旧版Chrome。
我正在使用以下代码尝试设置我的Chrome二进制位置:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome('chromedriver.exe', chrome_options = options)
但是,当我尝试启动WebDriver时,Python会返回以下错误:
WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)
我试过搜索类似的问题和答案,但到目前为止还没有运气。非常感谢任何帮助 - 提前谢谢!
答案 0 :(得分:3)
此错误消息......
WebDriverException: unknown error: cannot find Chrome binary
...表示 ChromeDriver 无法在系统的默认位置找到 Chrome 二进制文件。
根据ChromeDriver - Requirements:
ChromeDriver 服务器希望您将Chrome安装在每个系统的默认位置,如下所示:
1 对于Linux系统, ChromeDriver 希望/usr/bin/google-chrome
成为实际 Chrome二进制文件的符号链接 / em>的。
但是,您也可以按以下方式覆盖默认的 Chrome二进制位置:
要通过 ChromeDriver v2.26 在非标准位置安装 Chrome版本55.x ,您可以使用以下代码块:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome(chrome_options = options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
答案 1 :(得分:3)
发生在我身上的事情是我没有安装主浏览器 chrome。 下载浏览器并修复此问题。
答案 2 :(得分:0)
检查https://sites.google.com/a/chromium.org/chromedriver/getting-started 您可以在webdriver的构造函数中指定二进制路径:
driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path.
答案 3 :(得分:0)
我在MacOS中也遇到了类似的问题。即使在chromeoptions中设置了二进制路径后,它也不起作用。安装npm i chromedriver