selenium で Chrome と ChromeDriverのバージョンが合わないときに自動で合うバージョンをインストールしてくれる

習慣化209日目

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80

Seleniumを実行する際、ChromeとChromeDriverのバージョンがマッチしていないと上記のようなエラーが出る。

合っているバージョンを探してインストールしたりするがそれが結構面倒くさい。

下記サイトの通りに設定すると自動で合うバージョンをインストールしてくれる。
めちゃ便利!

Selenium】ChromeDriverを自動更新するPythonライブラリが便利 | ゆうきのせかい
https://yuki.world/python-selenium-chromedriver-auto-update/

インストールして

pip3 install webdriver_manager

インポート

インボート部分を抜粋

#モジュールをインポート
from selenium import webdriver

# 【Selenium】ChromeDriverを自動更新するPythonライブラリが便利 | ゆうきのせかい
# https://yuki.world/python-selenium-chromedriver-auto-update/
from webdriver_manager.chrome import ChromeDriverManager

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
##httpリクエスト関連
import requests

# chromeが画面上で立ち上がらずに処理するためのSelenium用オプション
op = Options()
op.add_argument("--disable-gpu");
op.add_argument("--disable-extensions");
op.add_argument("--proxy-server='direct://'");
op.add_argument("--proxy-bypass-list=*");
op.add_argument("--start-maximized");
op.add_argument('--no-sandbox')
op.add_argument("--headless");
# オプションを指定してchromeを起動する
driver = webdriver.Chrome(ChromeDriverManager().install(), options=op)
driver.get('https://google.com')

"""
## chromeを立ち上げたい場合は上をコメントアウトして下記を有効にする
"""
# driver = webdriver.Chrome(ChromeDriverManager().install())
# driver.get('https://google.com')