2014年3月15日土曜日

画像をクリックする : ExcelからFirefox自動制御(11)

【はじめに】

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

動作対象は、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
    Call driver.Start("firefox", "http://finance.yahoo.co.jp/")
    Call driver.get("/")
   
    driver.findElementByCssSelector("#one-content > a:nth-child(1) > img:nth-child(1)").Click
End Sub

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

Yahoo!ファイナンスのページを開き、画面右にある日経平均株価のチャート画像をクリックします。

今回のサンプルコードでは、findElementByCssSelectorメソッドを用いて、画像を選択し、クリックしています。

余談

findElementByCssSelectorに渡す、CSSセレクタは、Firefoxの「一意なセレクタをコピー」機能を使うと簡単に取得できます。