スポンサーリンク
今までInternet Explorerを用いた自動化操作が標準搭載されている「Microsoft Internet Controls」ライブラリを用いてスクレイピングを行ってきたのですが、IEに対応しないサイトが増え始めたので、selenium(セレニウム)を使ってみることにしました。
私がseleniumを使用してみてわかったことを、今回はここに残しておきたいと思います。
seleniumとseleniumbasicについて
seleniumとは
seleniumは、Web ブラウザの操作を自動化するためのフレームワークまたはライブラリのことです。(フレームワークとは、プログラムを操作する仕組みのことで、ライブラリはいろいろな情報が入ったファイルのことです。)
ブラウザ操作を自動化し、プログラムの動作検証を行う枠組みを提供してくれます。
seleniumのサイトは次のリンク先にあります。扱えるプログラム言語は「Ruby」、「Java」、「Python」、「C#」、「JavaScript」の5種類です。
-
Selenium
続きを見る
selenium basicとは
selenium basic(セレニウム ベーシック)は、様々なブラウザをVBAなど外部プログラムから制御するためのライブラリのことです。旧名称はselenium VBAと言い、その名の通りVBAはこのselenium basicで利用可能です。サイトは次のリンク先にあります。インストール後に「selenium Type Library」を参照設定に追加して使用して下さい。
-
Seleniumbasic
Seleniumbasic : A Selenium based browser automation framework for VB.Net, VBA and VBScript
続きを見る
他にもseleniumが名前に付く「Selenium IDE」などがありますが、VBAではselenium basicしか使えません。ちなみにSelenium IDEはブラウザの拡張機能の1つで、プログラムの自動作成などができます。
webDriverについて
seleniumを使ってブラウザを自動で操作するには、webDriverを用意する必要があります。webDriverとは、ブラウザを操作するためのAPI、またはモジュールのことです。
seleniumで作成されたテストはWebDriverによって再生され、ブラウザを自動制御して実際にアプリケーションを操作することになります。
webDriverには、「ChromeDriver」、「EdgeDriver」、「FirefoxDriver」、「IEDriver」、「PhantomJSDriver」、「WebDriver」など様々あるので、各ブラウザのバージョンに対応したwebDriverを使う必要があります。
まとめ
冒頭でお伝えした通り、seleniumを使うことなく、VBAに標準で組み込まれている機能だけを使用してスクレイピングを行うこともできます。しかし、昨今のInternet Explorerのブラウザシェア率の低迷を考えるとおすすめはできません。
seleniumを使用せずにスクレイピングを行おうとすると、VBAのコードが長く複雑になることも"おすすめできない理由"の1つですが、何よりもブラウザにInternet Explorer以外を使用した場合に実行されないことが問題です。
以上のことから、VBAでseleniumを利用する場合はselenium basicしか選択肢はないと言っても過言ではないと思います。
seleniumを使用するためには、webDriverとブラウザが必要となるので、それぞれバージョンが適したものを準備して環境を整えることが大切です。バージョン合わずに動作しないということが起きないためにも、そこはあらかじめきちんと確認しておきましょう。
雑記
今日は10月12日、パンの日です。パン食普及協議会が1983年3月に制定してから、毎月12日はパンの日だそうです。
私は毎日、朝はパンを食べると決めているのですが、いろいろなパンを食べてきて、今は一周回って食パンがマイブームです。生のまま食べるのも、トーストにするのも、サンドイッチにするのも美味しいですよね。時間がある時はフレンチトーストやピザトースト、ボリュームのある厚焼き玉子サンドなどを作ることもありますが、普段はジャムを塗って食べることが多いです。
先日、「パンに合うから」と頂いた「海苔バター」を初めて食べたのですが、これが予想を超える美味しさで驚きました。海苔というとご飯のイメージが強く、パンに合うのか半信半疑で試してみたところ、バターの油っぽさや独特の香りは海苔の個性を壊さない程度の主張をし、海苔の佃煮のような塩味もほど良いため、食べやすい印象でした。是非皆さんにも食べてみてもらいたいです。
最後までお付き合いいただきありがとうございます!
この情報が誰かの役にたてれば幸いです。