SeleniumでChrome Beta版を使用する方法を解説していきます。Windows・ Mac両方に対応しています。

安定版で問題が起きた時の代替として(余談)

最近、毎日動かしていたプログラムが以下のようなエラーで止まってました。

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: unexpected command response
  (Session info: chrome=103.0.5060.53)

色々、調べてみると2022/06/23に安定版がリリースされたChrome 103によるもので、今のところ解決策もない模様。

ChromeDriver 103.0.5060.53 has been released

https://groups.google.com/g/chromedriver-users/c/BroyfA_GXNQ

(私同様、世界中の皆さんが困ってる模様...笑)

考えられる解決方法「Chrome 102にダウングレードする」と「Chrome 104(Beta版)を使う」の2つ。

ただし、前者は色々と面倒なので、Beta版で特段 問題がない限りChrome 104(Beta版)を使うのが良いと思う。なにより、Beta版と安定版は共存できるので、すでにインストールされている安定版(今回でいうとChrome 103)をアンインストールしたり、変更を加えたりする必要がない。

とりあえず、Chrome 104の安定版がリリースされる08/04まではBeta版を使っていこうと思う。

Chrome Beta版のインストール

いうまでもないと思いますが、まずはChromeのBeta版をインストールします。以下のリンクからダウンロードしてインストールしてください。

https://www.google.com/intl/ja/chrome/beta/

インストールすると、以下のようなアイコンのChromeがシステムに追加されます。これでインストール完了です。

ChromeDriverのダウンロード

2022/07/07追記 webdriver_managerを使って、Chrome Beta版でもChromeDriverを自動で取得・更新したい場合は、併せてこちらの記事をご覧ください。手動でドライバーをダウンロードして、パスを指定したりといったような作業が不要なので、こちらのがオススメです。

通常(安定版)の Chromeのときと同様に、Chrome Beta版の現在のヴァージョンを確認し、そのヴァージョンのChromeDriverをダウンロードします。

以下のリンクからChromeDriverをダウンロードします。

https://chromedriver.chromium.org/downloads

ダウンロードしたZIPファイルを展開し、中身のchromedriverを任意の場所に置きます。場所はどこでも構いませんが、私はWindows・Macそれぞれ以下の場所に保存しています。

WindowsC:\Users\[ユーザー名]\wd\104.0.5112.20\chromedriver
Mac/Users/[ユーザー名]/wd/104.0.5112.20/chromedriver

Windows

Mac

Mac

SeleniumでChrome Beta版を使用するように指定

Windows・Macそれぞれ以下のように記述して、SeleniumをChrome Beta版で実行できます。

Windows

#==========Windows用==========
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options 

options = Options()

#注意:pathの区切りは、「\」(バックスラッシュ)ではなく「/」(スラッシュ)を使用しています。
#Chromeの場所を指定
options.binary_location = 'C:/Program Files/Google/Chrome Beta/Application/chrome.exe'

#ChromeDriverの場所を指定
chrome_service = ChromeService(executable_path='C:/Users/[ユーザー名]/wd/104.0.5112.20/chromedriver.exe')

driver = webdriver.Chrome(service=chrome_service,options=options)

#google.comを開く
driver.get('https://google.com')

Mac

#==========Mac用==========
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options 

options = Options()

#Chromeの場所を指定
options.binary_location = '/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta'

#ChromeDriverの場所を指定
chrome_service = ChromeService(executable_path='/Users/[ユーザー名]/wd/104.0.5112.20/chromedriver')

driver = webdriver.Chrome(service=chrome_service,options=options)

#google.comを開く
driver.get('https://google.com')