SeleniumBasicをインストールしてExcel(VBA)からWebスクレイピングを行うまでのチュートリアル(サンプルプログラム付き)

Selenium Basicの入手

Selenium Basicは、ChromeやEdge、IEなどをVBAなど外部プログラムから制御するためのライブラリです。
以下のページにアクセスして Downloadと書かれているすぐ下のリンクをクリックします。

Seleniumbasic
Seleniumbasic : A Selenium based browser automation framework for VB.Net, VBA and VBScript

image

 

SeleniumBasic-2.0.9.0.exe をダウンロードして実行。

image

 

インストーラーの実行

インストーラーを立ち上げた直後のウィンドウ。
Nextをクリック

image

ライセンス条項が表示されるので、◎ I accept the argreement を選択してNextをクリック

image

特に変更する必要はないのでそのままNextをクリック

image

インストールされる先のフォルダ名を覚えておいて Installクリック

image

インストールが終わると、Firefoxのアドオンをインストールするか聞いてくるので
チェックを外して Finish をクリック。

ここでインストールさせようとしているアドオンは最新版のFirefoxでは使えません。

image

 

Selenium Basicを最新版のChromeに対応させる

SelenumBasicに同梱されているChrome用の制御ドライバは残念ながら最新版のChromeに対応していません。
以下のページから最新版のChromeドライバをダウンロードしてきて、手動で上書きコピーする必要があります。

ChromeDriver - WebDriver for Chrome
WebDriver for Chrome

赤丸で囲ったリンクをクリックしていけばダウンロードできます。

image

image

Windows版が必要なので、chromedriver_win32.zip をダウンロードします。

image

 

zipを解答すると、 chromedriver.exe が1ファイルあると思います。
このファイルを、Selenium Basicをインストールしたフォルダにコピー&上書きします。

 

image

 

どこにインストールされているかわからなくなったら、エクスプローラのアドレスバーに以下のテキストをコピー&ペーストすればフォルダを開くことができます。

%LOCALAPPDATA%\SeleniumBasic

 

Selenium Basicの動作確認(スクレイピングサンプルVBA)

URL内に検索クエリが含まれておらず、Webページから検索しないと結果が出てこないようなページを取得するサンプルを用意しました。

image

以下のマクロを実行すると、某図書館のHPからChromeでSeleniumの本を検索し、スクレイピングを行い情報をExcelに貼り付けます。(要:Chrome)
この記事を書いた時に作成したサンプルプログラムは一番下からダウンロードできます。

EXCELマクロ(VBA)でスクレイピングする部分の抜粋

    With driver
        .Start
        '豊田市図書館のHPにアクセス
        .Get "https://www.library.toyota.aichi.jp/" 
        
        '検索するキーワードを投入
        .FindElementById("kensaku_keyword").SendKeys Range("SearchKeyWord") & vbCrLf
        
        'スクレイピング開始
        For Each elmDoc In .FindElementByClass("doclist").FindElementsByClass("doc")
            Debug.Print elmDoc.FindElementByClass("doc-title").Text       '本のタイトル
            Debug.Print elmDoc.FindElementByClass("doc-writer").Text      '著者
            Debug.Print elmDoc.FindElementByClass("doc-recap").Text       '本の概略
            Debug.Print elmDoc.FindElementByClass("doc-available").Text   '貸出可否
        Next
    End With

 

image

 

サンプルプログラム ダウンロード

SeleniumBasicSample.xlsm

 

新規PCにSeleniumBasicをインストールした際の注意点

新規にインストールしたWindows PCに一連のSeleniumBasicの設定を行って、サンプルを実行しようとするとかなりの高確率でオートメーションエラーが発生します。

これは.Net Fremework 3.5がインストールされていないためで、以下のエントリを参照することで解決できる場合があります。

SeleniumBasicでオートメーションエラー -214623576(80131700) が出た時の対処法

SeleniumBasicでオートメーションエラー -214623576(80131700) が出た時の対処法
SeleniumBasicをインストールしてExcelから使うまでのチュートリアルに添付してある動作確認用のExcelマクロを実行すると、Microsoft Visual Basic実行時エラー'-2146232576(80131

コメント

タイトルとURLをコピーしました