はじめに
PythonでSeleniumを使ってWebブラウザ操作を自動化しようとした際、次のようなエラーが発生することがあります。
WebDriverException: Message: unknown error: cannot find Chrome binary
このエラーは、一見するとSeleniumやChromeDriverのバージョン不一致かと思われがちですが、実は非常に単純な原因で発生することもあります。この記事では、私が実際に遭遇した事例をもとに、原因とその対処法をご紹介いたします。
エラー全文とその状況
私が遭遇したエラーの内容は以下の通りです。
WebDriverException: Message: unknown error: cannot find Chrome binary
このエラーは、以下のようなコードを実行したときに発生しました。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
# ドライバの設定
service = ChromeService(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service) # ← ここでエラーが発生
原因:Google Chrome本体がインストールされていない
結論から申し上げますと、このエラーの原因はGoogle Chromeブラウザ本体がインストールされていなかったことでした。
Seleniumは内部的にChromeDriverを使ってブラウザを起動しようとしますが、その際にChrome本体が見つからないとエラーになります。
ChromeDriverとPythonコードが正しくても、ブラウザ本体がない状態では動作できないというわけです。
対処法:Google Chromeをインストールする
以下の手順でGoogle Chromeをインストールすることで、問題は即座に解消しました。
■ Macの場合:
- 以下の公式サイトにアクセス
https://www.google.com/chrome/ - 「Chromeをダウンロード」をクリック
- インストーラーを実行してインストールを完了
■ インストール後の確認方法:
ターミナルを開いて以下のコマンドを実行します。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
バージョンが表示されればインストール完了です。
まとめ
Seleniumで「cannot find Chrome binary」というエラーが出た場合は、まずGoogle Chrome本体がインストールされているかを確認しましょう。
SeleniumやChromeDriverのバージョン不整合よりも先に、**「前提として必要なアプリがあるか」**をチェックすることが、スムーズなトラブル解決につながります。