Я новичок в программировании, сделал несколько курсов python и пытаюсь применить то, что я изучал.Проблемы с каналом с Selenium и Geckodriver
Я бегу Macos Sierra и python2 и 3 установлены в моей машине, даже если я просто хотел использовать python3, но мой предыдущий курс проинструктировал меня, чтобы начать с python2, что я не знаю если это было плохо.
Во всяком случае, принимая Автоматизировать скучный материал с курсом Python (который использует python3) Я столкнулся с этим кодом:
#! python3
from selenium import webdriver
browser = webdriver.Firefox()
и получил следующее сообщение об ошибке:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/Alex/Anaconda/Templates/selenium_firefox.py", line 3, in <module>
browser = webdriver.Firefox()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/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 ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x1029777f0>>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 163, in __del__
self.stop()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
[Finished in 0.501s]
Я нашел Ответ, который, кажется, решает мою проблему здесь: Selenium using Python - Geckodriver executable needs to be in PATH
Но я не могу понять, как манипулировать PATH на моем компьютере или как организовать мои файлы таким образом, чтобы компьютер работал.
я выполнил следующий код на моем терминале (как указано в другом запросе): exportPATH = $ PATH:/путь/к/каталог/из/исполняемым/скачивании/в/предыдущий/шаг
Но это не имеет никакого смысла для меня и не работает. Я также попытался взять файл Geckodriver из загрузок (где он был изначально) и поместить его в папку Anaconda.
В любом случае, я уверен, что проблема в том, что я действительно не знаю, как компьютер сам организуется, поэтому не может правильно адресовать код.
Поэтому, Я хотел бы попросить решение для моего конкретного случая и справочного текста, учебника, видео или всего, что я мог бы использовать, чтобы лучше понять, как все это работает (я до сих пор не нашел ничего хорошего материал по этому вопросу).
Заранее благодарен!
Это может вам помочь. [Gekodriver executable должен быть в пути] (http://stackoverflow.com/questions/40048940/geckodriver-executable-needs-to-be-in-path) –
Ответ на этот вопрос Другая тема http://stackoverflow.com/questions/40388503/how-to-put-geckodriver-into-path?rq=1 –