Excel VBA-SeleniumでWebスクレイピングをしていてある日突然以下のような画面がでて困ったことはないでしょうか?
これは「Google ChromeのバージョンとChromediverのバージョンがあっていません」というエラーによるものです。
今回はこの対処法について説明していきます。
~2021/10/7追記~
ChromeDriverを常に最新にしてくれるWebDriverManager for VBAが公開されていました(やまとさん)。こちらを見てもらえれば以降の操作は必要なくなりますので試してみてください。
結論
結論は以下です。
C:\Users\(ユーザー名)\AppData\Local\SeleniumBasic
に最新のChromedriverをいれればよい。
次から具体的な方法について説明します。
Google Chromeのバージョンの確認方法
1 Google Chromeのバージョンを確認する
・Google Chromを立ち上げ右上の「3点リーダー」→「ヘルプ」→「Google Chromeについて」をクリック
・Google Chromeのバージョンをメモしておく
該当のChrome Driverのインストール
・ChromeDriver – WebDriver for Chromeのサイト
(https://sites.google.com/a/chromium.org/chromedriver/downloads)にて該当するバージョンをクリックする
・該当のOS用のdriverを選択する(ここではWindowsとしています)
・ファイルを解凍し、Chromedriver.exeを取り出す
・SeleniumBasicは(インストール時保存フォルダを変更していなければ)以下のところにあります。
C:\Users\(ユーザー名)\AppData\Local\SeleniumBasic
この中にあるChromedriver.exeに対して上書きをする
これで動くようになります。
ここでのまとめ
Chromedriverのバージョンエラーが出た場合はChromeと同じバージョンのChromedriver.exeをC:\Users\(ユーザー名)\AppData\Local\SeleniumBasicにいれればよいです。
Chromeが自動更新されるとおきますのでChromedriverも更新するようにしましょう。
↓困ったときは以下が頼りになります。私も利用させてもらってます😊。
Selenium-VBAでのWebスクレイピングに関する記事はこちらをどうぞ
Web-APIを用いたデータ取得に関する記事はこちらをどうぞ
【VBA】Web APIを使ってデータを取得する(OpenWeatherMap)1
【VBA】Web APIを使って時間別天気予報を取得する(気象庁API)
【VBA】Web APIを使ってLINE通知を行う(LINE Notify)1
【API-VBA】Web APIを使って翻訳をする(DeepL API)
コメント