WebDriverVBA

WebDriverVBA「Edge/ChromeでWebページに指定要素が存在するかチェックする」【ExcelVBA】

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

注意点

  • IE自動操作の場合はisNull関数で調べる事が出来ましたが、WebDriverVBAの場合は専用のプロパティを使用します。
  • WebDriverVBAまとめページ(ページが増えれば公開します。)

WebDriverVBAについて

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

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

 

 

コメント

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