2016-02-04 2 views
6

Я не могу начать Chromedriver с Selenium.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.6 (virtualenv установки) и selenium==2.50.1.

[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

Ok, поэтому решение бит странный.

Я переехал 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/бен/Google-хром для быть ссылкой на фактический хром двоичный.

0

Я не знаю, если это единственная проблема, вы испытываете, но chromedriver не нравится «www.google.com», однако он прекрасно с «http://www.google.com»

+0

Скопирован из вопроса: он никогда не попадает на 'browser.get ('www.google.com')' ... Но в противном случае да, хорошая точка – dm295

Смежные вопросы