この記事によって実現できること
Python SeleniumによるスクレイピングでChromeドライバー更新地獄から開放
はじめに
こういう悩みありませんか?
Python × Selenium × Chromeでブラウザ操作自動化をしてるけど、ブラウザバージョン更新のたびにChromeDriverを手動で更新するのが面倒。。。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://google.com')
しかし、Google ChromeがアップデートされるたびにChromeDriverとのバージョン違いでエラーになってしまいます。(SessionNotCreatedEception)
$ python qiita.py
Traceback (most recent call last):
File "/ファイルのパス/qiita.py", line 4, in <module>
driver = webdriver.Chrome()
File "/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line XX, in __init__
〜省略〜
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XX
これが出るたびに下記作業をしなければなりません。
- 現在のブラウザバージョンを確認
- 現在のブラウザバージョンに合ったWebDriverをダウンロード/インストールする
実は、「webdriver_manager」というライブラリを使うことで面倒臭い手作業から永遠に開放されるんです!
しかも、すでに使用しているコードでもすぐに修正できちゃいます!
ChromeDriver(WebDriver)を自動更新する「webdriver_manager」導入方法
やること
①webdriver_managerをインストール
②コード編集
①webdriver_managerをインストール
$ pip install webdriver-manager
上記コードを打ち込んじゃいましょう。
〜省略〜
Successfully installed 〜〜
が出てきたら完了です!
②コード編集
次にコードを書き換えましょう!
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://google.com')
↓
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://google.com')
たったこれだけなんです!
Chromeドライバー更新地獄からの脱出おめでとうございます!
この記事によって実現できること
Python SeleniumによるスクレイピングでChronmeドライバー更新地獄から開放