Selenium 无法启动 Chromedriver

Selenium fails to start Chromedriver

我无法用 Selenium 启动 Chromedriver

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://www.google.com')

它永远不会到达 browser.get('http://www.google.com') 但失败了:

    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.21.371461 (633e689b520b25f3e264a2ede6b74ccc23cb636a),platform=Linux 3.13.0-76-generic x86_64)

我正在 Ubuntu 14.04 (64b) 使用 Python 2.7.6virtualenv 安装)和 selenium==2.50.1.

dm@Z580:~$ which chromedriver
/usr/local/bin/chromedriver

dm@Z580:~$ ll /usr/local/bin/chromedriver
lrwxrwxrwx 1 root root 24 feb  4 22:13 /usr/local/bin/chromedriver -> /opt/google/chromedriver*

编辑

dm@Z580:~$ google-chrome --version
Google Chrome 48.0.2564.97 

降级为Chromedriver 2.20

wget http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod 777 chromedriver
sudo mv -f chromedriver /opt/google/chromedriver

但是,遗憾的是,结果还是一样。

知道为什么会这样吗?

我不知道这是否是您遇到的唯一问题,但 chromedriver 不喜欢 "www.google.com",但是“http://www.google.com

没问题

好的,所以解决方案是 有点奇怪

我将 Chromedriver 二进制文件从 /opt/google/(其中安装了 Google Chrome)移到了 /opt/,更新了符号链接,它现在可以工作了!

对比问题本身,这两行代码解决了问题:

sudo mv /opt/google/chromedriver /opt/
sudo ln -fs /opt/chromedriver /usr/local/bin/chromedriver

现在我可以运行以下Python代码:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://www.google.com')

Chrome 开始一切。

old Selenium docs page 上的以下行启发我检查并最终更改 Chromedriver 位置:

For Linux systems, the ChromeDriver expects /usr/bin/google-chrome to be a symlink to the actual Chrome binary.