2016-02-04 96 views
6

我無法啓動ChromedriverSelenium硒無法啓動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) 

我(64B)採用Python 2.7.6的virtualenv安裝)和selenium==2.50.1Ubuntu 14.04上。

[email protected]:~$ which chromedriver 
/usr/local/bin/chromedriver 

[email protected]:~$ ll /usr/local/bin/chromedriver 
lrwxrwxrwx 1 root root 24 feb 4 22:13 /usr/local/bin/chromedriver -> /opt/google/chromedriver* 

編輯

[email protected]:~$ 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

有趣的是,無法在MacOSx上重現它,嘗試使用Python 2.7和3.5。您安裝了哪些Chrome版本? – alecxe

+0

@alecxe編輯。 – dm295

+0

如果您降級到chromedriver 2.20,該怎麼辦? – alecxe

回答

5

好了,該解決方案是一個位奇怪

我從/opt/google/移動Chromedriver二進制(其中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中/谷歌Chrome瀏覽器 是一個符號鏈接到實際的Chrome二進制。

0

我不知道這是否是您所遇到的唯一問題,但chromedriver不喜歡「www.google.com」,但它是罰款與「http://www.google.com

+0

從問題複製:它永遠不會到'browser.get('www.google.com')'......但是否則是的,好點 – dm295