Day2day Opportunism

まぁ、平たく言うと「雑記」がだらだらと・・・

SeleniumBasic を利用して Excel VBA で webへアクセス を始めるのメモ

どうせ、忘れるので_φ(・_・

 

IEのサポートが終了するので、Excel VBAを利用した web へのアクセスを行うために、SeleniumBasic を利用する。

 

まずは、SeleniumBasic をDLしないと始まらないので、下記から行う。

https://florentbr.github.io/SeleniumBasic/

真ん中あたりに「Download」があり、その下の「Release page」へ行く。

現在は、「v2.0.9.0」で、exe・zip・tar.gz のそれぞれの形式でDL出来るのが、最初は面倒なので exe で。

きっとDLフォルダーに「SeleniumBasic-2.0.9.0.exe」といった感じのファイルがあるはずなので、気持ちよく実行する。

インストーラーが起動するので、特に問題がなければ【Next>】でサクサクと終わらせるんだが、

インストールフォルダーはおそらく現在のユーザーのアプリケーションフォルダーになるはず。気になるならメモしておく。

 

さて、利用するには「参照設定」が必要になるので、Excelを起動して、VBEを立ち上げる。

「ツール」>「参照設定」で表示されるダイアログで「Selenium Type Library」を探して利用可能にする。

ちなみにインストールフォルダーはココでも判るので、インストーラーでメモを忘れても大丈夫。

あとは、ざっくりと起動確認の為に、下記コードを実行する。

Public Sub GetGoogle()
  Dim drv As Object
  Dim url As String

  url = "https://www.google.com/"
  With CreateObject("Selenium.WebDriver")
    .Start "chrome"
    .Get url
  End With
End Sub

何も問題なければ、Chromeさんが起動してチラッとGoogleのトップページが表示される。

 

で、問題が合った場合。

オートメーション系のエラーだと、.net が入ってないか version 問題のハズなので、インストールフォルダーの下の Scripts フォルダー内の「StartChrome.vbs」を起動すれば、インストールページを開くので、そのままインストールを行い、一応再起動して再挑戦する。

セッション系のエラー(SessionNotCreatedError)だと、Chromeのバージョンと「chromedriver.exe」のバージョンが異なるハズなので、

Chromeを開いて「ヘルプ」>「Google chrome について」でバージョンを確認し、「ChromeDriver - WebDriver for Chrome」から対応するものをDLして、インストールフォルダーのものを入れ替え、再挑戦する。

こんなもので。