私はOS Sierraを使用していて、Python 3.5.2。Seleniumをインストールしていて、「Pythonで退屈なタスクを自動化する」という本を読んでいます
私のコードは
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 "<pyshell#1>", line 1, 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.
私は自分の問題の解決策を幅広く探しました。多くの人が同じ問題を抱えています。しかし、どのソリューションも機能していません。私はPythonフォルダー内のどこにでもgeckodriverをコピーしました。ターミナルを使用してみましたが、コード内でパスを指定しようとしましたが、エラーが発生します。 「これが間違った形式の場合は申し訳ありませんが、私は何をしているのかわかりません。
私はこの同じ問題に直面しました、そして、私はそれをどのように修正したかです:
geckodriver
を here からダウンロードしますgeckodriver
ファイルを解凍して解凍し、/usr/local/bin/
ディレクトリに移動しますFirefox
webdriverを使用してpythonプログラムを実行します。この回答は、「プログラムをパスに追加する」というGoogle検索で簡単に解決できます。
export PATH=$PATH:/path/to/geckodriver
「Pythonフォルダー内のすべての場所にgeckodriverをコピーしました。]」
import sys
print sys.path
そして、問題を解決する必要があります。