Mac OSユーザーはこちら。 python IDLEでコマンドを実行しようとしています:
from Selenium import webdriver
browser = webdriver.Firefox()
次のエラーメッセージが表示されます。
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/Selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver': 'geckodriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
browser = webdriver.Firefox()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/Selenium/webdriver/firefox/webdriver.py", line 160, in __init__
self.service.start()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/Selenium/webdriver/common/service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
Selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
私は走ったbrew install geckodriver
、which geckodriver
戻り値 /usr/local/bin/geckodriver
ですから、正しくインストールされているはずです。それでもまだ正常に動作していないようですが?
エラーメッセージは非常に明確です。
FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver': 'geckodriver'
geckodriverへのパスを設定する必要があります。それにはさまざまな方法があります。
コードでgeckodriverへのパスを設定できます。
from Selenium import webdriver
browser = webdriver.Firefox(executable_path=r'/.../path2Your/geckodriver')
または[〜#〜] path [〜#〜]環境変数にgeckodriverへのパスを挿入します:
export PATH=$PATH:/.../path2Your/geckodriver
Mac OSの/usr/local/bin/
で実行可能ファイルを移動しようとしたことはありません。私はubuntu osで試してみましたが、うまくいきます。大丈夫だと思います。
おそらく、ファイルが実行可能ではないためです。そうでない場合は、/usr/local/bin/
に移動して実行可能にします。
chmod +x geckodriver
私にとって最も効果的なことの1つは、実行可能なgeckodriverファイルをコピーすることです。
Binフォルダーに移動します。
Linuxの場合は、以下の場所にあります。
/home/user_name/.local/bin
ここにgeckodriver exeを貼り付けます。
したがって、最終的なコードは次のようになります。
from Selenium import webdriver
driver = webdriver.Firefox(executable_path = 'geckodriver')
これは魅力のように私にとってはうまくいきましたが、それが正しい方法であるかどうかはわかりません。