【Selenium】バージョン4にアップグレードする
主な変更点
Selenium 3からSelenium 4にアップグレードする際にいくつか変更点があります。
公式ドキュメントでは以下のように記載されています。
今回は、4.10.0以降のバージョン(執筆時の最新は4.11.2)にアップグレードする際に必要な修正の一部を紹介します。
ちなみに4.9.1以前のバージョンならば、非推奨のメッセージが表示されるだけでそのまま動きます。
修正1
webdriver内にexecutable_pathを直接指定できなくなったため、Serviceオブジェクト内に指定します。
修正前
driver = webdriver.Chrome(ChromeDriverManager().install())
修正後
from selenium.webdriver.chrome.service import Service as ChromeService
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
Selenium 4.10.0以降は互換性がなくなり、以下のTypeErrorが発生します。
TypeError: WebDriver.__init__() got multiple values for argument 'options'
修正2
webdriver内にCapabilities(desired_capabilities)を直接設定できなくなったため、Optionsオブジェクトに設定します。
修正前
caps = DesiredCapabilities.CHROME.copy()
caps['pageLoadStrategy'] = 'eager'
caps['acceptInsecureCerts'] = True
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), desired_capabilities=caps)
修正後
options = webdriver.ChromeOptions()
options.set_capability('pageLoadStrategy', 'eager')
options.set_capability('acceptInsecureCerts', True)
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options)
こちらも同様に、以下のTypeErrorが発生します。
TypeError: WebDriver.__init__() got an unexpected keyword argument 'desired_capabilities'
もし参考になりましたら、♡(スキ)をクリックしてもらえると励みになります。