我无法使用Chromedriver
启动Selenium
。
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.6
( virtualenv 安装)和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
但遗憾的是,结果仍然相同。
知道为什么会这样吗?
答案 0 :(得分:6)
好的,所以解决方案是有点奇怪。
我将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
位置:
对于Linux系统,ChromeDriver需要/ usr / bin / google-chrome 是实际Chrome二进制文件的符号链接。
答案 1 :(得分:-1)
我不知道这是你唯一遇到的问题,但是chromedriver并不喜欢" www.google.com"但是对于&#它是好的34; http://www.google.com"