Help us understand the problem. What is going on with this article?

[selenium向け] ChromeDriverをpipでインストールする方法(パス通し不要、バージョン指定可能)

More than 1 year has passed since last update.

はじめに

Pythonでseleniumを使いChromeを操作する際にはChromeDriverのインストールが必要です。
通常ChromeDriverをインストールする際にはバイナリを直接ダウンロードしてインストールしますが、ここではpipコマンドでインストールする方法を記載しています。
pipでインストールするとパスを通す必要がなくなります。

普通にpip install chromedriver-binaryコマンドでインストールすると、ChromeとChromeDriverの互換性の問題でseleniumが使えないことが多々ありますが、バージョン指定の方法も記載しております。

手順

seleniumインストール

pip install selenium

Jupyter-notebookで実行する際には以下のように、先頭に「!」をつけてください。

!pip install selenium

以下のように「Successfully」と表示されればインストールは成功です。
image.png

Chromeのバージョン確認

「設定→ヘルプ→Google Chromeについて」を開くとバージョンが表示されます。

image.png

ChromeDriverのインストール

まずpip install chromedriver-binary==<Chromeバージョン番号> として実行してください。
私の場合はChromeバージョン番号は「76.0.3809.132」でしたので、以下のコマンドを実行します。

pip install chromedriver-binary==76.0.3809.132

Jupyter-notebookで実行する際には以下のように、先頭に「!」をつけてください。

!pip install chromedriver-binary==76.0.3809.132

たぶん以下のようなエラーが表示されると思います。
もしエラーが出なかった場合は「動作確認」の項目に進んでください。
image.png

エラー内容の確認と、ChromeDriverを再度インストール

このエラー内に表示されているバージョン番号は、存在するChromeDriverのバージョン番号です。

image.png

Chromeのバージョン番号と、ChromeDriverのバージョン番号を比較してください。
きっと同じバージョン番号はないと思います。
そこで、Chromeのバージョンより少し小さい数値のChromeDriverのバージョン番号を探してください。

私の場合はChromeバージョンが「76.0.3809.132」で、それより少し小さい数値のChromeDriverバージョンは「76.0.3809.126.0」がありました。

その後、そのChromeDriverのバージョン番号を用いて、再度以下のコマンドを実行してください。

pip install chromedriver-binary==76.0.3809.126.0

Jupyter-notebookで実行する際には以下のように、先頭に「!」をつけてください。

!pip install chromedriver-binary==76.0.3809.126.0

以下のように「Successfully」と表示されればインストールは成功です。
image.png

動作確認

以下のコマンドを実行してください。

from selenium import webdriver
import chromedriver_binary
driver = webdriver.Chrome()

以下の画面が表示された場合は「アクセスを許可する」をクリックしてください。
image.png

その後、以下のようにChromeブラウザが表示されれば成功です。
image.png

hanzawak
セキュリティエンジニアです。CISSP
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away