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' がありません