WebDriverException:未知错误:对于旧版本的 Google Chrome,在 Python 中找不到带有 Selenium 的 Chrome 二进制错误
问题描述
出于兼容性原因,我更喜欢将 Chrome 版本 55.0.2883.75 与 Chromedriver v. 2.26 一起使用.我从
1 对于 Linux 系统,ChromeDriver 期望 /usr/bin/google-chrome
是 符号链接 到实际的 Chrome 二进制文件.
在非标准位置使用 Chrome 可执行文件
但是您也可以覆盖默认的 Chrome 二进制位置,如下所示:
<小时>要使用通过 ChromeDriver v2.26 安装在非标准位置的 Chrome 版本 55.x,您可以使用以下代码块:
从 selenium 导入 webdriver从 selenium.webdriver.chrome.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 ochromedriver.exe')driver.get('http://google.com/')print("Chrome 浏览器调用")driver.quit()
<小时>
参考
您可以在以下位置找到详细讨论:
- 是否需要安装 Chrome 或使用 Selenium 时只能使用 chromedriver?
For compatibility reasons I prefer to use Chrome version 55.0.2883.75 with Chromedriver v. 2.26. I downloaded the older version of chrome from https://www.slimjet.com/chrome/google-chrome-old-version.php and Chromedriver 2.26 from https://chromedriver.storage.googleapis.com/index.html?path=2.26/.
I am using the following code to attempt to set my Chrome binary location:
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)
However, when I attempt to launch the WebDriver Python returns the following error:
WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)
I have tried searching through similar questions and answers but have not had any luck so far. Any help is greatly appreciated - thank you in advance!
解决方案This error message...
WebDriverException: unknown error: cannot find Chrome binary
...implies that the ChromeDriver was unable to find the Chrome binary in the default location for your system.
As per the ChromeDriver - Requirements:
The ChromeDriver server expects you to have Chrome installed in the default location for each system as follows:
1 For Linux systems, the ChromeDriver expects /usr/bin/google-chrome
to be a symlink to the actual Chrome binary.
Using a Chrome executable in a non-standard location
However you can also override the default Chrome binary location as follows:
To use Chrome version 55.x installed in non standard location through ChromeDriver v2.26 you can use the following code block :
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 ochromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
Reference
You can find a detailed discussion in:
- Is Chrome installation needed or only chromedriver when using Selenium?
相关文章