WebDriverException:未知错误:对于旧版本的Google Chrome,无法在Python中找到Sele



出于兼容性原因,我更喜欢使用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:

/%
OSChrome的预期位置
Linuxusr/bin/google-chrome1
Mac/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
Windows XPHOMEPATH%\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。

  1. 将镶边驱动程序放在镶边路径中
  2. 将以下路径替换为您的 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/')

相关内容

  • 没有找到相关文章

最新更新