Ошибка «WebDriverException: исполняемый файл geckodriver должен находиться в переменной PATH», в то время как «driver = webdriver.Firefox ()» до Selenium - PullRequest
0 голосов
/ 11 июня 2018

Для экспертов, я запустил следующий код в Python, используя Spyder (на Mac):

>from selenium import webdriver
>from selenium.webdriver.common.keys import Keys
>driver = webdriver.Firefox()

и получаю следующие ошибки:

>Traceback (most recent call last):
>
>  File "<ipython-input-4-fd567e24185f>", line 1, in <module>
>    driver = webdriver.Firefox()
>
>  File "/Users/liminfang/anaconda3/lib/python3.6/site->packages/selenium/webdriver/firefox/webdriver.py", line 160, in __init__
>    self.service.start()
>
>  File "/Users/liminfang/anaconda3/lib/python3.6/site->packages/selenium/webdriver/common/service.py", line 83, in start
>    os.path.basename(self.path), self.start_error_message)
>
>WebDriverException: 'geckodriver' executable needs to be in PATH. 

Обратите внимание, чтоЯ уже добавил исполняемый файл geckodriver в PATH, выполнив

>export PATH=$PATH:/Users/liminfang/anaconda3/geckodriver 

в Терминале.И я перезагрузил компьютер, но ошибка не исчезла.Кто-нибудь знает, что здесь происходит?Пожалуйста помоги.Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Это сообщение об ошибке ...

WebDriverException: 'geckodriver' executable needs to be in PATH. 

... означает, что GeckoDriver не был найден в каталогах, которые вы указали в переменной PATH.

Решение

Поскольку вы используете ipython , вы можете загрузить последнюю версию GeckoDriver с mozilla / geckodriver и разместить ее в любом месте вашей системы.,При инициализации нового WebDriver / WebClient сеанс передает путь absolute двоичного файла GeckoDriver через аргумент executetable_path следующим образом:

from selenium import webdriver
driver = webdriver.Firefox(executable_path='/path/to/geckodriver')
0 голосов
/ 11 июня 2018

Поместите geckodriver.exe в папку сценариев и затем вызовите webdriver.Firefox с:

driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=fp, executable_path='geckodriver.exe')

У меня 52.0.2 (64 бит) и Geckodriver 0.15.0-win64 и все работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...