Я столкнулся с проблемой при работе с Selenium. Для моего проекта я должен использовать Chrome. Тем не менее, я не могу подключиться к этому браузеру после запуска его с Selenium.
По какой-то причине Selenium не может найти Chrome сам по себе. Вот что происходит, когда я пытаюсь запустить Chrome без указания пути:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
Чтобы решить эту проблему, я включил путь Chromium в код, запускающий Chrome. Однако интерпретатору не удается найти сокет для подключения:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
Я также попытался решить проблему, запустив Chrome с помощью:
хром -remote-Shell-Port = 9222
Однако это тоже не сработало.
PS. Вот некоторая информация о моей системе:
www-клиент: хром 15.0.874.121 dev-lang: python 2.7.2-r3 Selenium 2.11.1 ОС: GNU / Linux Gentoo Kernel 3.1.0-gentoo-r1
Ответы:
Необходимо убедиться, что автономный двоичный файл ChromeDriver (который отличается от двоичного файла браузера Chrome) находится либо в вашем пути, либо доступен в переменной среды webdriver.chrome.driver.
см. http://code.google.com/p/selenium/wiki/ChromeDriver для получения полной информации о том, как это происходит.
Редактировать:
Да, похоже, это ошибка в привязках Python при чтении двоичного файла chromedriver из пути или переменной окружения. Кажется, если chromedriver не находится на вашем пути, вы должны передать его в качестве аргумента конструктору.
источник
Для Linux
chromium-browser -version
sudo apt-get install chromium-browser
/usr/bin
каталогsudo mv chromedriver /usr/bin
/usr/bin
каталогcd /usr/bin
sudo chmod a+x chromedriver
чтобы пометить его как исполняемый.наконец, вы можете выполнить код.
источник
Только Mac OSX
Более простой способ начать работу (при условии, что у вас уже есть установленный homebrew , и в противном случае вам следует сначала сделать это и позволить homebrew сделать вашу жизнь лучше), просто выполнить следующую команду:
Это должно поставить хромедривер на вашем пути, и вы должны быть готовы.
источник
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
brew doctor
и посмотреть, если что-нибудь найдет.Для окон
Загрузите ChromeDriver по этой прямой ссылке ИЛИ получите последнюю версию с этой страницы .
Вставьте
chromedriver.exe
файл в свойC:\Python27\Scripts
папку.Это должно работать сейчас:
источник
Для окон, пожалуйста,
chromedriver.exe
поместите под<Install Dir>/Python27/Scripts/
источник
/usr/lib/
или где-то еще?PATH
было недостаточно, положить его туда,/Scripts/
гдеride.py
работает.В Google Chrome есть 2 способа запустить тесты Selenium Python. Я рассматриваю Windows (Windows 10 в моем случае):
Предварительное условие: загрузите последнюю версию драйвера Chrome по адресу : https://sites.google.com/a/chromium.org/chromedriver/downloads.
Способ 1:
i) Извлеките загруженный zip-файл в каталог / папку по вашему выбору
ii) Установите путь к исполняемому файлу в вашем коде, как показано ниже:
Способ 2:
i) Просто вставьте chromedriver.exe в / Python / Scripts / (в моем случае папка была: C: \ Python36 \ Scripts)
ii) Теперь напишите простой код, как показано ниже:
источник
Для Windows IDE:
Если ваш путь не работает, вы можете попытаться добавить его
chromedriver.exe
в свой проект, как в этой структуре проекта.Затем вы должны загрузить
chromedriver.exe
в свой основной файл. Что касается меня, я загрузилdriver.exe
вdriver.py
...
означаетdriver.py's
верхний каталог.
означает каталог, в которомdriver.py
находитсяНадеюсь, это будет полезно.
источник