VBAでEdge/Chromeを起動し、ブラウザ上に表示されるアラート操作したい場合があります。
アラートはJavaScriptで表示されているのを対象(alert もしくはconfirm)とし、SwitchToAlertで処理可能です。
Edge/Chromeでアラート表示を制御するサンプルコード
Dim driver As New Selenium.WebDriver '■Edge/Chromeでアラート表示を制御する Public Sub sample() '■ブラウザを起動 driver.Start "chrome" 'Edgeの場合はdriver.start "edge" '中略~'アラート表示される(confirm表示される)ページを表示 '■OKの場合 driver.SwitchToAlert.Accept '■キャンセルの場合 driver.SwitchToAlert.Dismiss End Sub
注意点
- OKもキャンセルもうまくクリックできない場合は、driver.wait で操作待ちしましょう。
- OKしか選択肢がない場合は、Accept/Dismissどちらも結果は同じです。(OK押下します)
関連記事
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント