出于兼容性原因,我更喜欢使用Chrome版本55.0.2883.75和Chromedriver v. 2.26。我从 https://www.slimjet.com/chrome/google-chrome-old-version.php 下载了旧版本的chrome,从 https://chromedriver.storage.googleapis.com/index.html?path=2.26/下载了Chromedriver 2.26。
我使用以下代码尝试设置我的 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)
我尝试过搜索类似的问题和答案,但到目前为止没有任何运气。
此错误消息...
WebDriverException: unknown error: cannot find Chrome binary
。意味着ChromeDriver无法在系统的默认位置找到Chrome二进制文件。
根据ChromeDriver - 要求:
服务器希望您在每个系统的默认位置安装 Chrome:
OS Chrome的预期位置 Linux /usr/bin/google-chrome1 Mac /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome Windows XP %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe Windows Vista 和更新的 C:\Users%USERNAME%\AppData\Local\Google\Chrome\Application\chrome.exe 发生在我身上的是我没有安装主浏览器 chrome。 下载浏览器,它可以解决此问题。
在本地使用带有最新谷歌浏览器的旧版 chrome 驱动程序给了我同样的例外。
只需转到ChromeDriver页面,并确保您拥有最新版本。
在Mac上,即使Chrome安装在默认位置,也存在导致相同错误的新错误。这是因为新的chromedriver正在寻找"Google Chrome for Testing.app"。
我做了以下工作:
mkdir foo cd foo npx @puppeteer/browsers install chrome@stable mv chrome/mac-115.0.5790.102/chrome-mac-x64/Google Chrome for Testing.app /Applications rm -rf chrome
更新:最新版本现在似乎已修复。
我在MacOS中遇到了类似的问题。即使在chromeoptions中设置二进制路径后,它也没有工作。安装后修复了
npm i chromedriver
我已经通过安装谷歌浏览器链接解决了这个问题,它自动解决了问题(我使用 Kali Linux(,并确保它已安装到"/usr/bin"(默认下载到这里(。
从实际网站下载Chrome也很重要。 我遇到了同样的问题,但我从Ubuntu软件包管理器下载了Chrome。 我卸载了包管理器版本并从网站上安装,错误解决了。 从其他包管理器安装可能会出现相同的问题。
我遇到了这个错误,因为我安装了带有flatpak的Chrome,然后Selenium找不到驱动程序的目录。然后我用Fedora Store安装了Chrome并修复了。
检查 https://sites.google.com/a/chromium.org/chromedriver/getting-started 您可以在 Web 驱动程序的构造函数中指定二进制路径:
driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path.
我这样做是为了解决我的问题
private WebDriver driver; @Before public void StartBrowser() { System.setProperty("webdriver.chrome.driver", "C://opt//WebDriver//bin//chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://www.saucedemo.com/");}
我认为这是最简单的方法;
下载chromedriver
并从此链接下载chrome version
[115.0.5790.110(它无法正常工作(]:Chrome-for-testing。
- 将镶边驱动程序放在镶边路径中
- 将以下路径替换为您的 Chrome 版本路径
from selenium import webdriver options = webdriver.ChromeOptions() options.binary_location = "C:/Program Files/Google/Chrome Dev/Application/chrome.exe" driver = webdriver.Chrome(options=options) ################# driver.get('https://realpython.com/openpyxl-excel-spreadsheets-python/')