WebDriverException: メッセージ: Geckodriver Executable Needs to Be in PATH エラー in Python
-
geckodriver.exeファイルを使用して、システムPATHに追加する -
webdriver.Firefox()関数でexecutable_pathパラメータを使用する -
webdriver-managerモジュールを使用する
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 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 Selenium 更新ページ
- Python で Selenium Web Driver Wait を追加する
- Python で Selenium を使用してテキストで要素を検索
- Python で Selenium を使用してドロップダウン メニューからオプションを選択する
- Python で Selenium を使用して要素を検索する
- Python での Selenium のスクリーンショット
関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません
