Selenium Pythonパッケージに必要なgeckodriverはどこにありますか?


30

Ubuntu 16.04.1 LTSを使用しています。python -Vリターンを実行しますPython 2.7.12Seleniumパッケージをインストールするために、それからvirtualenvを構築しています:

pip install -upgrade selenium

ただし、次のpythonスクリプトを使用して試用を実行する場合:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')

このエラーが発生します:

 Traceback (most recent call last):
   File "/home/myuser/bin/selenium-experiment.py", line 2, in <module>
     browser = webdriver.Firefox()
   File "/home/myuser/python_virtualenv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
     self.service.start()
   File "/home/myuser/python_virtualenv/local/lib/python2.7/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 AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f782c1caa50>> ignored

geckodriver実行可能ファイルであるため、セレンパッケージのインストールによって提供されるべきであると結論付けましたpip。どうやらそうではないので、さらに掘り下げました。geckodriver実行可能ファイルを提供するパッケージがUbuntuにあるはずだと思ったのでapt-file search geckodriver、検索して結果が見つかりませんでした。

このgeckodriver実行可能ファイルはどこで入手できますか?



なぜセレンのインストールコマンドをピップできないのは、セレンが依存するものをインストールするだけですか?
bgoodr

3
これは、Seleniumとgeckodriverのメンテナーにとっての質問です。私が言えることは、PyPI以外のどこか(この場合はGitHub)からgeckodriverを取得する必要があるということだけです。
edwinksl

回答:


44

OSの最新リリースを見つけます。

それを解凍し、geckodriverをコピーします/usr/local/bin-もしv0.11.1最新バージョンで、64ビットLinuxを使用している場合は、次のようにします:

export GECKO_DRIVER_VERSION='v0.24.0'
wget https://github.com/mozilla/geckodriver/releases/download/$GECKO_DRIVER_VERSION/geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
tar -xvzf geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
rm geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
chmod +x geckodriver
cp geckodriver /usr/local/bin/

これで、試用版が動作するはずです。


2
同じ方法がchromedriverにも適用されます。:)
プラティックナジェリア16

1
chromedriverをでインストールできるようになりましたapt-get install -qqy chromedriver
ラカイム

これが機能しない場合は、geckoドライバーをにコピーし/usr/binます。これは私のために働いた
プラサンス・ガネサン

cp geckodriver /usr/local/bin/SUDO許可が必要です。だから須藤。
アンブセルバンロッキー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.