SeleniumVBA利用時、Chrome本体のバージョンとChromeDriverのバージョンを合わせる必要があります。残念なことにChrome本体はどんどんバージョンが上がっていくので、いつの間にかバージョンアンマッチとなりSeleniumが動かないことが多々あります。
開発者は大丈夫だと思いますが、利用者にChromeDriverバージョンアップをお願いするのは敷居が高いと思います。なんとか自動更新ができないか調査したところ良い方法を見つけたので紹介します。
といっても、今回は自分で作成したのではなく、便利なライブラリの紹介となります。
GitHub - yamato1413/WebDriverManager-for-VBA
Contribute to yamato1413/WebDriverManager-for-VBA development by creating an account on GitHub.
このライブラリを組み込み、ソースコードを1行変更するだけで対応完了です。Selenium起動時にバージョンアンマッチが検出されるとChromeDriverの自動ダウンロードおよびインストールが自動で始まります。詳細は上記ページを確認ください。本記事では、簡単なサンプルプログラムのみ紹介します。
サンプルプログラム
修正前
Option Explicit
Sub sample()
Dim Driver As Selenium.ChromeDriver
Driver.Start ' ★違いはここだけ!!
Driver.Get "https://www.google.co.jp/?q=selenium"
Driver.Close
End Sub
修正後
Public Sub Sample()
Dim Driver As Selenium.ChromeDriver
SafeOpen Driver, Chrome ' ★違いはここだけ!!
Driver.Navigate "https://www.google.co.jp/?q=selenium"
Driver.ShutDown
End Sub