PythonでSeleniumを使用し、webdriver関数を実行しようとしました:
default_browser = webdriver.Firefox()
この例外:
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
このサイトのgeckodriver
: https://github.com/mozilla/geckodriver
しかし、Ubuntu 16.04にインストールする方法とこれを修正できますか?
手順は次のとおりです。
geckodriverリリースページ に移動します。プラットフォームに対応した最新バージョンのドライバーを見つけてダウンロードします。例えば:
wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
以下を使用してファイルを抽出します。
tar -xvzf geckodriver*
実行可能にする:
chmod +x geckodriver
PATHにドライバーを追加して、他のツールがドライバーを見つけられるようにします。
export PATH=$PATH:/path-to-extracted-file/.
これを行うには多くの方法があります。上記は、Ubuntu 16.10 64ビットで動作します。
Sysadminスクリプト(bash/ansible)で使用できるWebdriverインストール(サイレントモード)。
## Geckodriver
wget https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-linux64.tar.gz
Sudo sh -c 'tar -x geckodriver -zf geckodriver-v0.23.0-linux64.tar.gz -O > /usr/bin/geckodriver'
Sudo chmod +x /usr/bin/geckodriver
rm geckodriver-v0.23.0-linux64.tar.gz
## Chromedriver
wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.Zip
unzip chromedriver_linux64.Zip
Sudo chmod +x chromedriver
Sudo mv chromedriver /usr/bin/
rm chromedriver_linux64.Zip
Ubuntuにgeckodriverを手動でインストールする手順:
tar -xvzf geckodriver-vX.XX.X-linux64.tar.gz
)geckodriver
(chmod +x geckodriver
)に実行許可を与えますgeckodriver
バイナリを/usr/local/bin
またはシステムPATHの任意の場所に移動します。Ubuntuにgeckodriverをインストールするスクリプト:
#!/bin/bash
INSTALL_DIR="/usr/local/bin"
json=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest)
url=$(echo "$json" | jq -r '.assets[].browser_download_url | select(contains("linux64"))')
curl -s -L "$url" | tar -xz
chmod +x geckodriver
Sudo mv geckodriver "$INSTALL_DIR"
echo "installed geckodriver binary in $INSTALL_DIR"