尝试启动selenium web-driver API时,在Windows 8 AMD64中出现“找不到Chrome二进制文件”错误

时间:2014-06-24 05:17:18

标签: google-chrome selenium windows-8 windows-8.1 chrome-web-driver

我目前正在Windows 8 AMD64中使用Chrome扩展的selenium网络驱动程序。我在启动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)' 

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

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

我也试过这个:

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

我该怎么办?

4 个答案:

答案 0 :(得分:4)

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

  

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

已找到ChromeDriver,并且报告无法找到Chrome浏览器可执行文件。确保已安装并在当前路径上。 Selenium Wiki上还有一些其他信息。

答案 1 :(得分:2)

我使用ChromeOptions解决了问题;我从ProgramFiles目录中找到了chrome的二进制文件。这是我使用的代码:

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

答案 2 :(得分:2)

对我来说是

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

修复了问题

答案 3 :(得分:1)

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

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