LoginSignup
4
2

Selenium Manager を使っているのに chromedriver がバージョン違いで動かなかった話

Posted at

前提

業務でしばしば自動テストを作成。
OSは Windows 10 Pro を使用。

Chromeがアップデートされる度に、バージョンに合わせたchromedriver.exeを引っ張ってくるのが面倒だった。
しかし、 Selenium をアップロードしてからこの心配がなくなった。

どうやら Selenium 4.6.0 以降で Selenium Manager が同時インストールされるらしい。
使用中の Chrome のバージョンに合わせた chromedriver.exe を自動で用意してくれるらしい。
便利ですね。

起動時の記述も変わってパスの指定が不要になった。

# アップデート前
driver = webdriver.Chrome(driverPath)

# アップデート後
driver = webdriver.Chrome()

パスを指定していることによるエラーが出てちょっと焦った。

何が起こってどうしたのか

経緯

ちょっとの間使用していなかったが、運用中の自動テストについて改修依頼が来たので動かしてみたらエラーが出た。

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.141 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

はいはい、バージョン違いね。
あれ?
自動で取ってきてくれるんじゃなかったっけ?
まいっか、取りに行こう

最新バージョンを取りに行った

さて最新バージョンは、と。
screenshot-chromedriver.chromium.org-2023.08.30-19_01_18.png
116系ないじゃん……
さて、どうしようかね

ちょっと調べてみた

Chrome for Testingというのがあるのか。
screenshot-googlechromelabs.github.io-2023.08.30-19_02_19.png
おぉ、116系ありますね。
ありがたやありがたや。

どこ置きゃ良いんだ?

解凍したは良いものの、設置先が判らない。
Selenium Manager さんに任せきりだったしね。

とりあえず find してみますか。

find /c/Users/aokym/ -name "chromedriver.exe"
/c/Users/aokym/.cache/selenium/chromedriver/win32/112.0.5615.49/chromedriver.exe
/c/Users/aokym/.cache/selenium/chromedriver/win32/114.0.5735.90/chromedriver.exe

出てきましたね。
これに並べりゃ何とかなるっしょ。
知らんけど。

ということでフォルダ作成&解答したファイルの移動

mkdir /c/Users/aokym/.cache/selenium/chromedriver/win32/116.0.5845.96
mv ~/Downloads/chromedriver.exe /c/Users/aokym/.cache/selenium/chromedriver/win32/116.0.5845.96/chromedriver.exe

動かしてみる

It worked.
エラーも出てないし、雑な思い付きの割には上々な結果でしょう。
Selenium Manager さんは ChromeDriver さんのとこを見てるのかしらね。

時間が経てば解決するものだとは思うけど、同様の事例で参考になると良いな。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2