2022年、Internet Explorerのサポート終了→SeleniumBasicに置き換えた開発を進めましたが、
SeleniumBasicのインストールが厳しい環境のユーザー様も多く存在しました。
その為、自前でWebDriverを動かす「WebDriverVBA」の開発を進めました。
ある程度動くよう(SeleniumBasicに比べたらまだまだですが)になったため、
同じようにお困りのユーザーの方に、ソフトライセンス販売の形で提供致します。
WebDriverVBAを使用した際のサンプルコードを以下に記載します。
WebDriverVBAの自動操作で要素が存在するかどうかチェックしたい場合があります。
ページ読み込み待ちでOKとなったにも関わらず、
オブジェクトに指定した要素が存在していないケースがあり、結果、エラーになることがあります。
こちらは指定要素が存在するかどうかを判断して処理を変更すれば問題ありません。
Webページに指定要素が存在するかチェックするサンプルコード
Public Sub test_exist() Dim driver As webDriverVBA Set driver = New webDriverVBA '■ドライバー起動 Call driver.Start(vcChrome) '■当サイトへ遷移 Call driver.Navigate("https://vba-create.jp/") '■ウインドウを最大化 Call driver.MaximizeWindow '■要素が存在するかチェック If driver.ExistElement("//*[@id=""search-4""]/form/input", vcXpath) Then '■要素が存在した場合の処理を記述 Else '■要素が存在しなかった場合の処理を記述 End If '■ウインドウをすべて閉じて、ドライバーを終了 Call driver.Quit(True) '■XPath以外でのチェックは以下を参照 'driver.ExistElement("★★★", vcId) 'driver.ExistElement("★★★", vcCssSelector) End Sub
注意点
- WebDriverVBAまとめページ(ページが増えれば公開します。)
WebDriverVBAについて
Excel VBAでSeleniumBasicを使わずにEdge/Chromeでスクレイピングするためのツールです。
SeleniumBasicがインストールできない環境の方にもスクレイピングをお助けします。
料金などについてはこちらからお問い合わせくださいませ。
コメント