Selenium Basicの入手
Selenium Basicは、ChromeやEdge、IEなどをVBAなど外部プログラムから制御するためのライブラリです。
以下のページにアクセスして Downloadと書かれているすぐ下のリンクをクリックします。
SeleniumBasic-2.0.9.0.exe をダウンロードして実行。
インストーラーの実行
インストーラーを立ち上げた直後のウィンドウ。
Nextをクリック
ライセンス条項が表示されるので、◎ I accept the argreement を選択してNextをクリック
特に変更する必要はないのでそのままNextをクリック
インストールされる先のフォルダ名を覚えておいて Installクリック
インストールが終わると、Firefoxのアドオンをインストールするか聞いてくるので
チェックを外して Finish をクリック。
ここでインストールさせようとしているアドオンは最新版のFirefoxでは使えません。
Selenium Basicを最新版のChromeに対応させる
SelenumBasicに同梱されているChrome用の制御ドライバは残念ながら最新版のChromeに対応していません。
以下のページから最新版のChromeドライバをダウンロードしてきて、手動で上書きコピーする必要があります。
赤丸で囲ったリンクをクリックしていけばダウンロードできます。
Windows版が必要なので、chromedriver_win32.zip をダウンロードします。
zipを解答すると、 chromedriver.exe が1ファイルあると思います。
このファイルを、Selenium Basicをインストールしたフォルダにコピー&上書きします。
どこにインストールされているかわからなくなったら、エクスプローラのアドレスバーに以下のテキストをコピー&ペーストすればフォルダを開くことができます。
%LOCALAPPDATA%\SeleniumBasic
Selenium Basicの動作確認(スクレイピングサンプルVBA)
URL内に検索クエリが含まれておらず、Webページから検索しないと結果が出てこないようなページを取得するサンプルを用意しました。
以下のマクロを実行すると、某図書館の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
サンプルプログラム ダウンロード
SeleniumBasicSample.xlsm
新規PCにSeleniumBasicをインストールした際の注意点
新規にインストールしたWindows PCに一連のSeleniumBasicの設定を行って、サンプルを実行しようとするとかなりの高確率でオートメーションエラーが発生します。
これは.Net Fremework 3.5がインストールされていないためで、以下のエントリを参照することで解決できる場合があります。
SeleniumBasicでオートメーションエラー -214623576(80131700) が出た時の対処法

コメント