非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】WebDriverを自動更新する方法(Webdriver Manager)

   

前回、前々回とPythonからWebブラウザ(Chrome)を制御する方法について書いてきました。(まだブラウザを立ち上げるまでですが)

今回はWebDriverのバージョンを自動更新する方法について紹介したいと思います。

 

Chromedriverのバージョン問題

前回、事前準備としてChromeブラウザのバージョンに応じたChromedriverをインストールしたわけですが、いずれこのようなエラーに直面します。

session not created: Chrome version must be between 71 and 75

これは、ChromeのバージョンとChromedriverのバージョンが古いことで起きるエラーです。Chromeブラウザはバックグランドでバージョンアップしていくからです。もちろん、そのバージョンに応じたChromedriverをインストールすれば解決できますが、それでは非常に面倒です。

そこで便利なのがWebdriver ManagerというChromeブラウザのバージョンに合わせたドライバーを自動で更新してくれる仕組みです。

 

Webdriver Managerのインストール

Webdriver Managerをインストールするpipコマンドは以下のとおりです。

pip install webdriver_manager
 

 

Pythonでの書き方

それでは前回のソースコードにWebdriver Managerを当てはめてみましょう。

2行目のインポート文を追加し、webdriver.Chromeに引数を加えることで最新バージョンでテストを行い必要に応じてインストールが行われます。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
 
#バージョンチェックをして必要あればインストール
driver = webdriver.Chrome(ChromeDriverManager().install())

driver.get('https://www.yahoo.co.jp/')
print(driver.title)

input('press any key to finish :')
 

 

スポンサーリンク

 - Python