Ответ 1
вы можете понизить свой селен на
pip install selenium == 2.53.6
Это решило мою проблему
Я прочитал предыдущие вопросы, заданные по этой теме, и попытался следовать этим предложениям, но я продолжаю получать ошибки. На терминале я запустил
export PATH=$PATH:/Users/Conger/Documents/geckodriver-0.8.0-OSX
Я также пробовал
export PATH=$PATH:/Users/Conger/Documents/geckodriver
Когда я запускаю следующий код Python
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
firefox_capabilities['binary'] = '/Users/Conger/Documents/Firefox.app'
driver = webdriver.Firefox(capabilities=firefox_capabilities)
Я все еще получаю следующую ошибку:
Python - testwebscrap.py:8
Traceback (most recent call last):
File "/Users/Conger/Documents/Python/Crash_Course/testwebscrap.py", line 11, in <module>
driver = webdriver.Firefox(capabilities=firefox_capabilities)
File "/Users/Conger/miniconda2/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/Users/Conger/miniconda2/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x1006df6d0>> ignored
[Finished in 0.194s]
вы можете понизить свой селен на
pip install selenium == 2.53.6
Это решило мою проблему
На Mac:
brew install geckodriver
Homebrew - самый популярный менеджер пакетов для Mac OS X, вам потребуется установить XCode на ваш Mac, и он будет доступен с вашего терминала.
Вы можете следовать этому руководству, если это необходимо
Я только что загрузил последнюю версию geckodriver (у меня есть win7) из здесь и добавил, что exe файл в каталог python (который уже находится в PATH)
Сначала мы знаем, что gekodriver является драйвером Firefox, и мы знаем, что driver.Firefox()
используется для открытия браузера Firefox, и он вызывается движком gekodriver, поэтому нам нужно предоставить gekodirver разрешение на выполнение.
поэтому мы загружаем последнюю версию gekodriver, распакуем tar-пакет и кладем gekodriver на /usr/bin/
хорошо, что мой ответ и я протестировали.
путь экспорта работает только в терминале, в котором вы ввели команду. Если вы попытаетесь запустить скрипт с другого терминала, вы получите ту же ошибку.