【Seleniumトラブルシューティング】Chrome Driver 126で発生する『chromedriver.exeが見つからない』エラーの詳細な解決手順

2024-07-27

"selenium-chromedriver" に関連する "Chrome driver version (126) can't find the chromedriver.exe" のプログラミングエラー

このエラーを解決するには、以下の4つの方法を試すことができます。

ChromeDriverのバージョンを確認する

まず、使用しているChromeDriverのバージョンがChromeブラウザのバージョンと互換性があることを確認する必要があります。Chromeブラウザのバージョンを確認するには、ブラウザのアドレスバーに chrome://version/ と入力します。ChromeDriverのバージョンを確認するには、コマンドプロンプトで chromedriver -v とコマンドを実行します。

ChromeDriverをダウンロードしてインストールする

ChromeDriverのバージョンがChromeブラウザのバージョンと互換性がない場合は、最新のChromeDriverをダウンロードしてインストールする必要があります。ChromeDriverをダウンロードするには、以下のURLにアクセスします。

ダウンロードしたChromeDriverを、システムパスに設定されているディレクトリに配置します。システムパスを確認するには、コマンドプロンプトで echo %PATH% とコマンドを実行します。

chromedriver.exeファイルのパスを設定する

ChromeDriverをシステムパスに設定していない場合は、ChromeDriverのパスをSelenium WebDriverに設定する必要があります。これは、以下のコードのように webdriver.Chrome() コンストラクタに executable_path パラメータを渡すことで行います。

from selenium import webdriver

driver = webdriver.Chrome(executable_path="/path/to/chromedriver.exe")

Chromeブラウザを閉じる

Chromeブラウザがすでに開いている場合は、ChromeDriverがブラウザを起動できない可能性があります。Chromeブラウザをすべて閉じてから、もう一度実行してみてください。

上記の方法を試しても問題が解決しない場合は、以下の点を確認してください。

  • ChromeブラウザとChromeDriverが同じビット数であること(32ビットまたは64ビット)
  • ユーザーアカウントに管理者権限があること
  • アンチウイルスソフトやファイアウォールがChromeDriverをブロックしていないこと



from selenium import webdriver

# Chromeブラウザのバージョンを確認する
chrome_version = get_chrome_version()

# ChromeDriverのバージョンを確認する
chromedriver_version = get_chromedriver_version()

# ChromeDriverのバージョンがChromeブラウザのバージョンと互換性がない場合は、エラーを出力する
if not is_compatible_version(chrome_version, chromedriver_version):
    raise Exception("Chrome driver version ({}) is not compatible with Chrome browser version ({})".format(chromedriver_version, chrome_version))

# ChromeDriverのパスを設定する
chromedriver_path = get_chromedriver_path()

# Selenium WebDriverを使用してChromeブラウザを起動する
driver = webdriver.Chrome(executable_path=chromedriver_path)

# ブラウザを操作する
# ...

# ブラウザを閉じる
driver.quit()
  • get_chrome_version(), get_chromedriver_version(), is_compatible_version(), get_chromedriver_path() などの関数は、ご自身の環境に合わせて実装する必要があります。
  • 上記のコードはあくまで一例であり、状況に合わせて変更する必要があります。



ChromedriverUpdaterというツールを使用すると、ChromeDriverを自動的に最新バージョンに更新することができます。このツールは、以下のURLからダウンロードできます。

ChromedriverUpdaterをダウンロードしたら、以下のコマンドを実行してChromeDriverを更新します。

chromedriver_updater.py

セレンियमグリッドを使用する

セレンियमグリッドを使用すると、複数のコンピューターでChromeブラウザを並列に実行することができます。これにより、テストの実行時間を短縮することができます。

セレンियमグリッドを使用するには、以下の手順を実行する必要があります。

  1. セレンियमグリッドサーバーをインストールする
  2. セレンियमグリッドノードを登録する
  3. Selenium WebDriverを使用して、セレンियमグリッドサーバーに接続する

Dockerを使用する

Dockerを使用して、ChromeブラウザとChromeDriverを含むコンテナを実行することができます。これにより、テスト環境を簡単に設定して再現することができます。

  1. Dockerをインストールする
  2. ChromeブラウザとChromeDriverを含むDockerイメージをプルする
  3. Dockerコンテナを起動する
  4. Selenium WebDriverを使用して、Dockerコンテナ内のChromeブラウザに接続する

selenium-chromedriver

selenium chromedriver

Maven、Selenium-ChromeDriver、Chrome DevTools Protocol 以外の代替手段: Playwright、Puppeteer、Cypress、Gradle、Ant、Chromedriver、WebDriver、Applitools、BrowserStack

Chrome DevTools Protocol (CDP) は、Chrome ブラウザを制御するためのプロトコルです。Selenium は、Web ブラウザの自動化テストを実行するためのオープンソース ツールです。Selenium は CDP を使用して Chrome ブラウザを制御できます。


Selenium-Webdriver と Selenium-Chromedriver を使用した Forex Factory からデータ抽出

このガイドでは、Selenium-Webdriver と Selenium-Chromedriver を使用して Forex Factory から経済指標データを抽出する方法を説明します。 Forex Factory は、世界中の経済指標に関するリアルタイムデータと分析を提供する人気のあるウェブサイトです。