みなさん、こんにちは!
個人開発してます、南です。
元々Seleniumで自動テストを導入していたのですが、下記のようなエラーが。。。
1 |
session not created: Chrome version must be between 71 and 75 |
これは、現在自分のマシンで使用しているChromeのバージョンとSeleniumで使用しているWebDriverのバージョンが古いため、起こるエラーです。
ちなみにWebDriverとは、Seleniumが各ブラウザを操作するのに使用するものです。
単純に考えれば、最新のGoogle Chromeに対応したWebDriverをダウンロードすれば済みます。。。
ただ、今後のことも考えると自動でこういうのに対応したいなということで発見したのが、「webdriver manager」なるもの。
これを使えば、自動でこういう問題に対応してくれるらしい。。。
っということで、webdriver managerを実際にダウンロードして使用までの方法を紹介します。
Webdriver managerのダウンロード
まずは、Webdriver managerをダウンロードしましょう。
ちなみに今回使用するのはPython3.0に対応したものを使用します。
また使用するWebdriverのドキュメントは下記になります。
https://github.com/SergeyPirogov/webdriver_manager
まずは、ターミナルを開いて下記のコマンドを入力しましょう。
コマンドを叩く場所は、ターミナルを開いた時に一番最初に表示される場所でOKです。
1 |
pip install webdriver_manager |
実際にコマンドを入力すると下記のように色々表示されます。
ちなみに、pipコマンドが使えない場合はまずはpipコマンドを使えるようにする必要があります。
(今回は紹介しません。)
Webdriver managerを使用してみる
ダウンロードができたら、今度は実際に使用してみましょう。
今回は下記のGoogle Chromeを開いてGoogleのホームページを表示するというだけのサンプルを紹介します。
まずは、下記のコード記述したファイルを作ります。
1 2 3 4 5 6 7 8 9 |
#必要なライブラリをインポート from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager #ここで、バージョンなどのチェックをします。 chrome = webdriver.Chrome(ChromeDriverManager().install()) #Google Chromeでページを立ち上げます。 chrome.get('https://www.google.com/?hl=ja'); |
作れたら、今度はファイルの場所までターミナルで移動します。
移動ができたら、下記のコマンドでプログラムを走らせます。
1 2 3 4 |
python3 記述したファイル名 #例 python3 index.py |
すると、僕の場合は使用ているWebDriverのバージョンが古いので、最新版がダウンロードされてからページが表示されます。
ダウンロードが完了すると、下記のように無事にブラウザが表示されました。
これで、webdriver mangerの簡単な使い方は以上です。
まとめ
これで、無事「session not created: Chrome version must be」系のエラーも解消されました。
今後は、下記のコードで自動で最新バージョンでテストを行うことができるようになります。
1 |
chrome = webdriver.Chrome(ChromeDriverManager().install()) |
もちろん、使用するWebdriverのバージョンやChrome以外のWebdriverも使用できます。
興味がある方は下記のドキュメントに目を通してみて下さい。