WebDriverException: メッセージ: Geckodriver Executable Needs to Be in PATH エラー in Python

Manav Narula 2023年6月21日
  1. geckodriver.exe ファイルを使用して、システム PATH に追加する
  2. webdriver.Firefox() 関数で executable_path パラメータを使用する
  3. webdriver-manager モジュールを使用する
WebDriverException: メッセージ: Geckodriver Executable Needs to Be in PATH エラー in Python

Python の selenium パッケージは、Web ブラウザーでのタスクを自動化できます。 Web ドライバーを使用すると、Google Chrome、Firefox などのさまざまな Web ブラウザーを使用できます。

このチュートリアルでは、Python の Message: 'geckodriver' executable needs to be in PATH エラーについて説明します。

geckodriver は Mozilla が開発したブラウザ エンジンで、Selenium と Firefox ブラウザ間のリンクとして機能します。 このエラーは、ドライバーが正しくインストールされていないか、ドライバーのパスが適切に指定されていない場合に発生します。

以下のコードを参照してください。

from selenium import webdriver

browser = webdriver.Firefox()

出力:

WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

このエラーを解決するさまざまな方法について説明しましょう。

geckodriver.exe ファイルを使用して、システム PATH に追加する

Selenium は、システム環境変数 PATH から実行可能なドライバーを識別しようとします。 geckodriver の実行可能パスをこの変数に追加できます。

まず、Mozilla の公式 Web サイトからドライバーの実行可能ファイルをダウンロードする必要があります。 この実行可能ファイルを含むディレクトリのパスを、前述の PATH 変数に追加する必要があります。

PATH 変数は、Environment Variables メニューの下にあります。 This PC アイコンを右クリックし、Properties に移動し、Advance Settings オプションを選択してこのメニューを取得する必要があります。

Linux ユーザーは、実行可能ファイルを /usr/local/bin ディレクトリに直接コピーできます。

webdriver.Firefox() 関数で executable_path パラメータを使用する

webdriver.Firefox() コンストラクターを使用して、ブラウザー ウィンドウを開いて自動タスクを実行できる Driver オブジェクトを作成します。 executable_path パラメータを使用して、この関数内で geckodriver 実行可能ファイルのパスを指定できます。

例えば:

from selenium import webdriver

driver = webdriver.Firefox(executable_path=r"user\pathofdriver\geckodriver.exe")

Mac OS ユーザーは、homebrewを使用してgeckodriverをインストールすることもできます。 次のコマンドを利用できます。

brew install geckodriver

インストール後、ドライバーのパスが表示されます。 このパスをコピーし、Finder アプリケーションに貼り付けて、Go to Folder をクリックします。

これにより、executable_path パラメータで使用できるドライバのフル パスが返されます。

webdriver-manager モジュールを使用する

webdriver-manager モジュールは、さまざまなブラウザーの Web ドライバーの管理を軽減するために導入されました。

GeckoDriverManager().install() 関数を使用して、geckodriver の実行可能ファイルをインストールして使用できます。 これは、前述の executable_path パラメータで指定する必要があります。

以下のコードを参照してください。

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver_object = webdriver.Firefox(executable_path=GeckoDriverManager().install())
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Selenium

関連記事 - Python Error