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がインストールできない環境の方にもスクレイピングをお助けします。
料金などについてはこちらからお問い合わせくださいませ。
コメント