2014年12月3日水曜日

SeleniumVBA(1): 自動制御するブラウザを指定する

【はじめに】

SeleniumVBAを用いて、VBA (ExcelやWordなど) から、Webブラウザを自動制御する方法に関するサンプルコードを掲載しています。

前回までに、基本的な制御方法を解説したので、今回から、Selenium特有の機能などについて解説したいと思います。今までの解説記事については下記をご参照ください。

動作対象

SeleniumVBAの仕様に準じ、Microsoft Office2003 - 2013、Firefox Ver.8以降です。
(手元では、SeleniumVBA  v1.0.18.0 に、Windows7 + Firefox27.0.1, Windows8.1 + Firefox27.0.1の組み合わせで動作確認しています。)

サンプルコードは、SeleniumWrapper Type Library を参照設定すれば、コピー&ペーストで動作するように作成しています。

【サンプルコード】

Sub StartFirefox()
    Dim driver As New SeleniumWrapper.WebDriver
    driver.Start "chrome", "http://www.google.com/"
End Sub

【サンプルコードの解説】

SeleniumVBA(といよりSelenium)では、自動制御するブラウザを比較的自由に変更することができます。具体的には、スタンダードなものとしては、Firefox, Google Chrome, InternetExplorer などを指定可能です。

指定方法は、startメソッドの第1引数に、ブラウザの種類を文字列で指定するだけ。ブラウザの指定に使用できる文字列は以下の通りです。

  • Firefox の場合 : "firefox"
  • Chrome の場合 : "chrome"
  • InternetExplorer の場合 : "ie"
  • InternetExplorer 64 bits の場合 : "ie64"
  • Safari の場合 : "safari"
  • PhantomJS の場合 : "phantomjs"
なお、制御対象とするブラウザは、あらかじめインストールしておく必要があります。

※ PhantomJSのみ、SeleniumVBAのインストーラに同梱されているため、別途インストールは不要です。

余談ですが、Seleniumでは、ひと手間加えることで、リモートPCのブラウザを制御することも可能です。(方法は次回以降解説予定です。)