ドライバーが見つかりません エラー

ドライバ実行可能ファイルへのパスが見つからない場合のトラブルシューティング。

歴史的に、これは Selenium を使い始めたばかりのユーザーが初めてコードを実行しようとしたときに最もよく遭遇するエラーです。

ドライバ実行可能ファイルへのパスは、webdriver.chrome.driver システムプロパティで設定する必要があります。詳細については、https://chromedriver.chromium.org/ を参照してください。最新バージョンは https://chromedriver.chromium.org/downloads からダウンロードできます。
実行可能ファイル chromedriver はパスが通っている必要があります。
ファイル geckodriver が存在しません。ドライバは https://github.com/mozilla/geckodriver/releases からダウンロードできます。
chromedriver 実行可能ファイルが見つかりません;

考えられる原因

WebDriver を通じて、Selenium は主要なブラウザをすべてサポートしています。要求されたブラウザを操作するためには、Selenium は実行可能なドライバを介してコマンドを送信する必要があります。このエラーは、必要なドライバが Selenium が使用しようとするどの手段でも見つからなかったことを意味します。

考えられる解決策

Selenium が必要なドライバを確実に入手するための方法はいくつかあります。

最新バージョンの Selenium を使用する

Selenium 4.6 以降、Selenium は適切なドライバを自動的にダウンロードします。基本的には何もする必要はありません。最新バージョンの Selenium を使用していて、エラーが発生する場合は、ログをオンにして、その情報とともにバグ報告を提出してください。

Selenium がドライバのダウンロードをどのように管理しているかについて詳しく知りたい場合は、Selenium Manager についてお読みください。

PATH 環境変数を使用する

このオプションを使用するには、まず手動でドライバをダウンロードする必要があります。

これは、コードを更新せずにドライバの場所を変更できる柔軟なオプションであり、すべてのマシンでドライバを同じ場所に配置する必要なく、複数のマシンで動作します。

ドライバをすでに PATH にリストされているディレクトリに配置するか、ディレクトリに配置して PATH に追加することができます。

PATH にすでに含まれているディレクトリを確認するには、ターミナルを開いて次を実行します。

echo $PATH

ドライバの場所がリストされているディレクトリにない場合は、新しいディレクトリを PATH に追加できます。

echo 'export PATH=$PATH:/path/to/driver' >> ~/.bash_profile
source ~/.bash_profile

ドライバのバージョンを確認することで、正しく追加されたかどうかをテストできます。

chromedriver --version

PATH にすでに含まれているディレクトリを確認するには、ターミナルを開いて次を実行します。

echo $PATH

ドライバの場所がリストされているディレクトリにない場合は、新しいディレクトリを PATH に追加できます。

echo 'export PATH=$PATH:/path/to/driver' >> ~/.zshenv
source ~/.zshenv

ドライバのバージョンを確認することで、正しく追加されたかどうかをテストできます。

chromedriver --version

PATH にすでに含まれているディレクトリを確認するには、コマンドプロンプトを開いて次を実行します。

echo %PATH%

ドライバの場所がリストされているディレクトリにない場合は、新しいディレクトリを PATH に追加できます。

setx PATH "%PATH%;C:\WebDriver\bin"

ドライバのバージョンを確認することで、正しく追加されたかどうかをテストできます。

chromedriver.exe --version

ドライバの場所を指定する

最新バージョンの Selenium にアップグレードできない場合、Selenium にドライバをダウンロードさせたくない場合、環境変数がわからない場合は、Service オブジェクトでドライバの場所を指定できます。

まず、目的のドライバをダウンロードし、該当する Service クラスのインスタンスを作成して、パスを設定する必要があります。

コード自体に場所を指定すると、システム上の環境変数を把握する必要がないという利点がありますが、コードの柔軟性が低下するという欠点があります。

ドライバ管理ライブラリ

Selenium 自体がドライバを管理するようになる前は、他のプロジェクトが代わりに管理するために作成されていました。

古いバージョンの Selenium を使用しているために Selenium Manager を使用できない場合(アップグレードしてください)、または Selenium Manager でまだ実装されていない高度な機能が必要な場合は、これらのツールのいずれかを試して、ドライバを自動的に最新の状態に保つことができます。

ドライバをダウンロードする

ブラウザサポートされている OS管理者ダウンロードIssue Tracker
Chromium/ChromeWindows/macOS/LinuxGoogleダウンロードIssues
FirefoxWindows/macOS/LinuxMozillaダウンロードIssues
EdgeWindows/macOS/LinuxMicrosoftダウンロードIssues
Internet ExplorerウィンドウSelenium ProjectダウンロードIssues
SafarimacOS High Sierra 以降Apple組み込みIssues

注: Opera ドライバは、Selenium の最新機能では動作しなくなり、現在公式にはサポートされていません。