Seleniumとは
WEBブラウザの操作を自動化するためのフレームワークでWEBアプリケーションの UI テストを自動化する目的で開発されたらしい
主な使い道としてRPA的にブラウザ操作を自動化させたりその流れでスクレイピングしたりとか
Java、Python、Ruby 等の主要なプログラミング言語で使える他、EXCELなどのVBAでも使える守備範囲でブラウザもChrome、Edge、Firefox、IEとこちらも完璧と言える守備範囲
※個人的にはChrome使えれば十分、と言うかChromeしか使わない
オープンソースで無料利用できるところも魅力の一つ
で、そのSeleniumをVBAで使えるようにするためのツールがSeleniumBasic(って認識でいいと思う)
インストール方法
インストーラーのダウンロード
↓↓からSeleniumBasicのインストーラーをダウンロード
最終更新が2016年3月と古くても問題なし
https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0
インストーラーの実行
インストール前に一つだけ
ユーザーでインストールするか管理者でインストールするかで私は管理者でインストールしました
使用する上ではどちらでも大したは影響ないと思いますがインストール先フォルダが変わるのでご注意を
右クリックから「管理者として実行」
改めてここからインストール
最初の画面は無心で「Next」
ライセンス契約について
気になる人は一読してラジオを「I accept the agreement」移して「Next」
インストールする対象を選択
私は↓の通りですがお好みで
最終確認画面
ココにインストール先のフォルダが表示されているのでチェック
サンプルは管理者インストールなので「C:\Program Files\SeleniumBasic」
ユーザーだと「C:\Users\<ユーザー名>\AppData\Local\SeleniumBasic」
完了
ChromeDriverの更新
インストールした直後のChromeDriverだとVBAから怒られます
ChromeDriverの特徴として日頃使ってるChromeのバージョンに合わせたドライバーが必要で、初期のドライバーが古すぎてバージョンが合わないよってこと
まず今使っているChromeのバージョンの調べ方は
「Chrome右上の︙ → ヘルプ → Google Chromeについて」設定画面を開くと見れる
続いて↓↓から今使っているChromeのバージョンに合わせたドライバーをダウンロード
もしCurrent Releasesの中になかったら下部にも古いバージョンがあるのでそこからダウンロード
https://sites.google.com/chromium.org/driver/downloads
使っているPC環境に合わせてドライバーをダウンロード
Windowsは32bitも64bitもwin32でOK
ダウンロードしたzipを解凍すると「chromedriver.exe」が取得できるのでSeleniumBasicをインストールしたフォルダにあるドライバーを上書き更新
.NET Framework 3.5をインストール
.NET Framework 3.5がないとインスタンスを作ろうとしたときにオートメーションエラーが発生するので対応する
正攻法でMicrosoftのWEBサイトからダウンロードしてインストールする場合はコチラから
https://www.microsoft.com/ja-jp/download/details.aspx?id=21
他に簡単な方法としてSeleniumBasicフォルダ内のScriptsフォルダにある「StartChrome.vbs」を実行してあげればエラーメッセージとともに.NET Framework 3.5のインストール画面が出てくるのでそのままインストールしてあげるだけ
既に.NET Framework 3.5がインストールされている場合は空のChromeが立ち上がってメッセージが出てくる
ちなみにStartChrome.vbsの中身はこれだけ
「Set driver = CreateObject(“Selenium.ChromeDriver”)」で発生するエラーに反応して.NET Framework 3.5のインストールを促してくれるんだろうから「流石MS!」と思いつつ、「だったらVBAでもそうしてくれよ・・・」と不満を吐いてみる
Set driver = CreateObject("Selenium.ChromeDriver")
driver.Start
WScript.Echo "Click OK to quit"
driver.Quit
あとがき
VBAの場合はここまでやって利用準備完了
ChromeDriverの更新は結構頻度が高くて面倒なのでプログラムでチェックした方が吉
プログラム公開しているのでこちらからどうぞ
コメント