Начитавшись Управление браузера с селеном модулем в https://automatetheboringstuff.com/chapter11, я пытаюсь запустить драйвер Селена Chrome в виртуальной среде с PyDev. Мне удалось это сделать из-за пределов PyDev, а изнутри, я получаю:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
Long:
Я использую Linux Debian 3.10.11-1.
https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/, прежде чем начать с PyDev, I. , ,
Настройка виртуальной среды с virtualenv
Installed virtualenv
pip install virtualenv
Сделано каталог для моего проекта
cd ~/temp/
mkdir my_project
cd my_mproject
создал виртуальную среду под названием
env
virtualenv env
активировал его.
source env/bin/activate
Пошел в интерактивном режиме Python, чтобы сказать себе, какую версию Python я использую
python
Python 2.7.12rc1 (default, Jun 13 2016, 09:20:59) [GCC 5.4.0 20160609] on linux2
выбрасываемые из interacive режима и установлен Selenium материал
Первый модуль
pip install selenium
После предложение на https://groups.google.com/forum/#!topic/obey-the-testing-goat-book/Ty4FQoV3S0Q, установленный chromedriver
cd env/bin/
wget http://chromedriver.storage.googleapis.com/2.22/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
написал небольшой скрипт, чтобы увидеть, если он будет работать
from selenium import webdriver driver = webdriver.Chrome()
Ран его. Открылось окно браузера Chrome. Отлично.
Теперь, чтобы попробовать его в PyDev:
Примерно следующее https://www.caktusgroup.com/blog/2011/08/31/getting-started-using-python-eclipse/. , ,
установлен Eclipse (Неон)
Установленная PyDev
Изнутри Eclipse, создал новый проект (File МЕНЮ>новый проект>Генеральному>Project , ввело Название проекта и щелкнуло Finis ч).
Назад в командной строке (потому что я еще не узнал, как это сделать из Eclipse и PyDev):
cd
'в корневой каталог моего нового проекта и создал виртуальную среду.Как и раньше, еще в командной строке, я активировал виртуальную среду нового проекта и установлен модуль Selenium, а затем исполняемый файл
chromedriver
, который пришел из файлаchromedriver_linux64.zip
.Назад в Eclipse, я подписал свой проект, чтобы использовать виртуальную среду, которую я предполагаю в Pydev жаргоне называется не виртуальной средой, а переводчик:
Окно Меню>Предпочтения>Pydev>интерпретаторы>Python переводчиков>Добавить.
Дал переводчику имя.
Для интерпретатора Executable, я выбрал
python2.7
файл вbin
директории виртуальной среды моего проекта вправой кнопкой мыши на мой проект, выберите Свойства>Pydev - Переводчик/Грамматика> Под Переводчик выбрал мой новый интерпретатор>OK.
Дал мне проект того же сценария. , ,
from selenium import webdriver driver = webdriver.Chrome()
и запустил его, нажав на Run меню>Run As>Python Run.
Теперь, однако, вместо открытия окна веб-браузера Chrome, я получаю только сообщение в консоли в Eclipse:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
Чтобы получить окно веб-браузера для когда я запускаю тот же скрипт из командной строки, я пробовал:
, добавляя папку
bin
виртуальной среды (потому что это файлchromedriver
) для интерпретатора.удаление интерпретатора и создание его нового.
копирование
chromedriver
в тот же каталог, где находится мой скрипт. Нет разницы.добавив файл
chromedriver_linux64.zip
, который я загрузил в интерпретатор. По-прежнему такая же ошибка.
Я продолжал писать свой сценарий в PyDev, а затем обратился к командной строке, чтобы запустить его. Просто хочу, чтобы я мог запустить его в режиме отладки PyDev.
Как я могу получить этот «chromedriver» в «PATH
» в PyDev, чтобы запустить сценарий из Eclipse?
Шаги от 1 до 3 работали для меня, а затем в Python Interpreters, в среде, я мог нажать «Создать», создать переменную: например. «chromedriver» со значением: «/ usr/local/bin», а затем нажмите «Применить» и «ОК». Чтобы узнать больше о пути значений, вы можете проверить, где находится ChromeDrive в вашей системе. На Mac это обычно можно найти в «/ usr/local/bin/chromedriver». – CubeBot88