Я новичок в программировании, прошел несколько курсов по Python и пытаюсь применить то, чему научился.
Я использую 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 с использованием Python — исполняемый файл Geckodriver должен находиться в PATH
Но я не совсем понимаю, как манипулировать PATH на моем компьютере или как организовать мои файлы так, чтобы компьютер работал.
Я выполнил следующий код на своем терминале (как указано в другом запросе): exportPATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step
Но это не имеет для меня никакого смысла и не работает. Я также попытался взять файл Geckodriver из загрузок (где он был изначально) и поместить его в папку Anaconda.
В любом случае, я совершенно уверен, что проблема в том, что я на самом деле не знаю, как компьютер организует себя, поэтому не могу правильно обращаться к коду.
Поэтому я хотел бы попросить решение для моего конкретного случая и справочный текст, учебник, видео или что-то подобное, что я мог бы использовать, чтобы лучше понять, как все это работает (я так и не нашел ни одного хороший материал на эту тему)
Заранее спасибо!