WebDriverVBA

WebDriverVBA「Edge/Chromeでブラウザの読み込み待ちをする」【ExcelVBA】

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

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

ブラウザの読み込み待ちのサンプルコード

今回はWebDriverVBA操作で必要な、待機処理です。
指定したページへ遷移しても、Webページの読込前に次の処理をすると、エラー発生してしまいます。

IE自動操作とは異なり、WebDriverVBAは画面が表示されるまで、自動で待ってくれます。
そのため、読み込み待ちはあまり気にする必要はありませんが、ページによっては明示してWaitすべきです。

■待った方がよいページ
・JavaScriptが仕込まれているページ
・iFrameが仕込まれているページ
→ページ全体は読み込みできたがJavaScriptの処理が追い付かない。

Public Sub wait_sample()

    Dim driver As webDriverVBA
    Set driver = New webDriverVBA

    '■ドライバーを起動
    Call driver.Start(vcChrome)

    '■目的のサイトへ移動する
    Call driver.Navigate("https://vba-create.jp/")

    '■3,000ミリ秒(3秒)待つ
    Call driver.Wait(3000)

End Sub

注意点

WebDriverVBAのスクレイピングは100%動くものと考えて、マクロを組む概念は捨てましょう。
エラーとうまく付き合い、対処するように考えましょう。

上記でうまくいかない場合はWebページに指定要素が存在するかチェックして、
存在しなければWait処理を追加してLoopさせればよいと考えます。

  • WebDriverVBAまとめページ(ページが増えれば公開します。)

WebDriverVBAについて

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

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

 

 

コメント

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