#背景
自分用のメモ
状況
- Selenium で動かしているプログラムが、以下エラーで動かなくなった
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version ○○
- エラー内容としてChromeDriver versionが原因
- chromedriver の version が一致していないので合わせる
(毎回調べるのが面倒なのでメモ。)
環境
・Mac Mojave 10.46.6
・homebrew-cask で ChromeDriver を事前に入れている
対処法
ChromeDriverとChromeバージョン違いで起こるエラーで紹介されているように downgrade すれば問題なく動く。
upgrade して修正したい場合は、chromedriver を brew cask upgrade
すればOK。
前は Homebrewでcask upgradeが実装されていたで紹介されているように、方法がなかったらしいが、brew cask upgrade
を使うことで、homecask 経由で落としたアプリを一括アップデートできるよう実装されている。(有志の皆様、ありがとうございます!)
upgrade は 例えば以下の流れ。
XXX-XXX% brew cask list
chromedriver coolterm google-chrome-canary
XXX-XXX% brew cask upgrade
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/cask-versions, homebrew/core and homebrew/cask).
==> New Formulae
crc docker-slim gnirehtet libtorch powerline-go skymaker tio
...(省略)
==> Updated Formulae
abcl flow libtorrent-rasterbar pyinvoke
abcmidi fmt libtrace pylint
...(省略)
==> Deleted Formulae
aap bubbros curlish docker-cloud ino nicotine-plus sshconfigfs
archivemail bzr-fastimport cvs2svn euca2ools
...(省略)
==> Casks with `auto_updates` or `version :latest` will not be upgraded
==> Upgrading 1 outdated package:
chromedriver 77.0.3865.40 -> 79.0.3945.36
==> Upgrading chromedriver
==> Downloading https://chromedriver.storage.googleapis.com/79.0.3945.36/chromedriver_mac64.zip
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'chromedriver'.
==> Unlinking Binary '/usr/local/bin/chromedriver'.
unzip -o /Users/username/Library/Caches/Homebrew/downloads/2712e559b7e0712e196b123a7581adecc2cfdc8d8d728b01fd875b3d371e5d29--chromedriver_mac64.zip -d /var/folders/v_/d8m3hn9n4nj62mx2c7lzkx200000gn/T/d20191217-6720-1bmlok7
chmod +rw /var/folders/v_/d8m3hn9n4nj62mx2c7lzkx200000gn/T/d20191217-6720-1bmlok7/chromedriver
cp -p /var/folders/v_/d8m3hn9n4nj62mx2c7lzkx200000gn/T/d20191217-6720-1bmlok7/chromedriver /usr/local/Caskroom/chromedriver/79.0.3945.36/chromedriver
==> Linking Binary 'chromedriver' to '/usr/local/bin/chromedriver'.
==> Purging files for version 77.0.3865.40 of Cask chromedriver
🍺 chromedriver was successfully upgraded!
これで動かすと、問題なくプログラムが動作した。
とう言うわけで、上記エラーが出た場合は、downgrade or upgrade で対応すればよいっぽいです。