WebDriverVBA

WebDriverVBA「Edge/Chromeでボタンクリックをする/XPath要素」【ExcelVBA】

2022年、Internet Explorerのサポート終了→SeleniumBasicに置き換えた開発を進めましたが、
SeleniumBasicのインストールが厳しい環境のユーザー様も多く存在しました。
その為、自前でWebDriverを動かす「WebDriverVBA」の開発を進めました。

ある程度動くよう(SeleniumBasicに比べたらまだまだですが)になったため、
同じようにお困りのユーザーの方に、ソフトライセンス販売の形で提供致します。
WebDriverVBAを使用した際のサンプルコードを以下に記載します。

Edge/Chromeでボタンをクリックする

Excel VBAマクロでEdge/Chromeを自動操作する際のクリック処理です。
クリックの基本です。

 

 '■Xpath要素をクリック
Call driver.Click("★★★", vcXpath)

 

XPath要素をクリックするサンプル(yahoo)

XPathはid属性同様html内で重複することはありません。参考(id要素をクリックする
id属性が存在しない要素もクリックすることが可能です。

'■yahooのhtmlコード(検索ボタン)XPath
//*[@id="ContentWrapper"]/header/section[1]/div/form/fieldset/span/button/

'■yahooのhtmlコード(検索ボタン)full XPath
/html/body/div[1]/div/header/section[1]/div/form/fieldset/span/button

yahoo検索ボタンはidは存在しませんが、XPathで指定可能です。


'■XPath要素をクリック
Call driver.Click("//*[@id=""ContentWrapper""]/header/section[1]/div/form/fieldset/span/button/", vcXpath)

’■full XPath要素でもOK
Call driver.Click("/html/body/div[1]/div/header/section[1]/div/form/fieldset/span/button", vcXpath)

'■もちろんXPathを変数に入れてもOK
Dim SearchBtn as String
   
SearchBtn = "//*[@id=""ContentWrapper""]/header/section[1]/div/form/fieldset/span/button/"
Call driver.Click(SearchBtn, vcXpath)

 

XPathはどうやって取得する?

①Chrome→ Ctrl + Shift + I

②矢印マーク→指定したい要素をクリック。

③画面右側の開発ツールの該当要素を右クリック→Copy → copy XPath

 

注意点

  • XPath要素内にid属性を含む場合、ダブルクォーテーションを「””」2重にする必要があります。
    (例) //*[@id=”ContentWrapper”] ⇒ //*[@id=””ContentWrapper””]
  • WebDriverVBAまとめページ(ページが増えれば公開します。)

WebDriverVBAについて

Excel VBAでSeleniumBasicを使わずにEdge/Chromeでスクレイピングするためのツールです。
SeleniumBasicがインストールできない環境の方にもスクレイピングをお助けします。

料金などについてはこちらからお問い合わせくださいませ。

 

 

コメント

タイトルとURLをコピーしました