尝试启动 selenium 网络驱动程序 API 时,在 windows 8 AMD64 中出现错误“找不到 Chrome 二进制文件

Error "cannot find Chrome binary" in windows 8 AMD64 while trying to launch selenium web-driver API

提问人:Zeinab Abbasimazar 提问时间:6/24/2014 最后编辑:Zeinab Abbasimazar 更新时间:8/19/2015 访问量:11953

问:

我目前正在 Windows 8 AMD64 中使用 selenium web-driver 的 Chrome 扩展。我在启动 Chrome 时遇到了问题;它给了我这个:

Traceback (most recent call last):
  File "D:/java/code/SVN/OMC/trunk/Test/Scripts/PMS\elements\UILoader.py", line 164, in __init__
    self.driver = webdriver.Chrome(executable_path="F:\\driver\\chromedriver.exe")
  File "C:\Python27\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\chrome\webdriver.py", line 65, in __init__
keep_alive=True)
  File "C:\Python27\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 73, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python27\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 121, in start_session
'desiredCapabilities': desired_capabilities,
  File "C:\Python27\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 173, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: u'unknown error: cannot find Chrome binary\n  (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.2 x86_64)' 

我也投入了相同的路径,它工作正常;此路径已添加到系统 PATH 中。我还尝试从另一台装有 Windows 7 AMD64 的计算机上启动它,它在那里工作正常。IEDriverServer.exe

我用谷歌搜索了一下,我看到了这个;但是当我检查它指定的路径时,我找不到 chrome 的可执行文件。我尝试更新 Google Chrome,但它给了我错误代码 1。chrome.exe

我也试过这个:

opts = webdriver.ChromeOptions()
opts.binary_location(value = "C:\\WebDrivers\\chromedriver.exe")
driver = webdriver.Chrome(chrome_options = opts)

我该怎么办?

谷歌浏览器 Selenium Windows-8.1 Chrome-Web-驱动程序

评论


答:

4赞 SiKing 6/25/2014 #1

错误的最后一行是重要的一行:

selenium.common.exceptions.WebDriverException:消息:未知错误:找不到 Chrome 二进制文件\n(驱动程序信息:chromedriver=2.9.248315,platform=Windows NT 6.2 x86_64)'

ChromeDriver 已找到,并报告找不到 chrome 浏览器可执行文件。确保已安装并在当前路径上。一些额外的信息在Selenium Wiki上。

评论

0赞 Zeinab Abbasimazar 6/25/2014
谢谢你的回答,但我已经知道了;正如我所提到的,我找不到 chrome 的可执行文件。我不知道这个应用程序有什么问题。
1赞 SiKing 6/25/2014
您是否在这台计算机上安装了 Chrome 浏览器?
0赞 SiKing 6/25/2014
我不明白。如果找不到可执行文件,那么如何使用它?
0赞 askrich 10/12/2016
我没有在机器上安装 Chrome,安装它解决了这个问题。如果有人看到类似的东西。
0赞 Tony Vu 11/15/2016
谢谢。我按照这个步骤在 centos 上安装 chrome 浏览器,它帮助 sites.google.com/site/imemoryloss/redhat-as-es-centos/......
2赞 Zeinab Abbasimazar 6/26/2014 #2

我用 ;我从目录中解决了 chrome 的二进制文件。这是我使用的代码:ChromeOptionsProgramFiles

opts = webdriver.ChromeOptions()
opts.binary_location(value = "C:\\ProgramFiles\\Google\\Chrome\\chrome.exe")
driver = webdriver.Chrome(chrome_options = opts)

评论

1赞 Grwlf 2/25/2017
就我而言,此代码会导致 TypeError:“str”对象不可调用。正如 stackoverflow.com/a/32085227/1133157 所建议的那样,binary_location将直接分配。
1赞 wuhlcom 6/23/2015 #3

你必须设置安装chrome的位置,这是ruby style.python在我看来可能是一样的。executable_path

Selenium::WebDriver::Chrome::Service.executable_path="D:/Program Files (x86)/Chrome/chrome.exe"

评论

0赞 Zeinab Abbasimazar 8/2/2015
感谢您的回复!是的,我实际上在 python 中使用了相同的方法。你可以看看我的回复!
2赞 syedelec 8/19/2015 #4

对我来说,这是

opts = webdriver.ChromeOptions()
opts.binary_location = "path/to/Chrome.exe"
driver = webdriver.Chrome(chrome_options=opts)

解决了问题