2014年12月3日水曜日

SeleniumVBA(2): リモートPCのブラウザを制御する

【はじめに】

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の組み合わせで動作確認しています。)

【サンプルコード】

Sub StartFirefox()
    Dim driver As New SeleniumWrapper.WebDriver
    driver.startRemotely "firefox", "http://192.168.0.26:4444/wd/hub" "http://news.yahoo.com"
End Sub

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

SeleniumVBA(といよりSelenium)では、開発機と別に用意したリモートPC上のブラウザを制御可能です。

リモート制御を行う場合、startメソッドに変えて、startRemotelyメソッドを用います。
第1引数に、操作するブラウザ、第2引数に、リモートPCのエンドポイント、第3引数にベースURLを指定します。

なお、リモートPCには、Selenium公式サイトで配布されている RemoteWebDriverServerをインストールする必要があります。また、RemoteWebDriverServer起動のためにJava Runtimeも必要です。

この機能に関しては、当サイトでは動作確認しておりませんので、ご入用の方は、Selenium公式サイトのドキュメントをご参照ください。
※ SeleniumVBAのサイトも、Selenium公式サイトへのリンクしかありません。

Selenium本来の用途、Webアプリの機能テスト用に用意された機能ですので、、、VBAでブラウザを自動制御する、という本稿の目的からは外れますので、この機能については、見なかったということでお茶を濁したいと思います^^;