私はプログラミングが初めてで、いくつかのpythonコースを受講し、学んだことを適用しようとしています。
私は macOS Sierra を実行していて、自分のマシンに python2 と 3 がインストールされています。python3 を使いたかっただけですが、以前のコースでは python2 から始めるように指示されていましたが、それが悪いことだったのかどうかはわかりません。 .
とにかく、Automate the Boring Stuff with 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:/path/to/directory/of/executable/downloaded/in/previous/step
しかし、それは私には意味がありませんし、うまくいきませんでした。また、ダウンロード (元の場所) から Geckodriver ファイルを取得し、Anaconda フォルダー内に配置しようとしました。
とにかく、問題は、コンピューター自体がどのように構成されているかを本当に知らないため、コードを適切に処理できないことだと確信しています。
したがって、特定のケースの解決策と、参照テキスト、チュートリアル、ビデオ、またはこれらすべてがどのように機能するかをよりよく理解するために使用できる同様のものを求めたいと思います(その問題に関する良い資料はまだ見つかりませんでした)。
前もって感謝します!