Selenium(Edge/Chrome)

Edge/Chromeで要素の有効・無効を判定する【IsEnabled】【Selenium】【ExcelVBA】

VBAでEdge/Chromeを起動し、Webページ上に要素が有効かどうか調べたい場合があります。
要素が存在するかどうかはIsElementPresentプロパティで判定可能、
要素の表示状態の確認はIsDisplayedプロパティで判定可能でしたが
無効の要素をクリックなどするとエラーが発生します。

IsEnabledプロパティを使用することで要素が有効 or 無効の判断が可能です。

要素の有効・無効を判定するサンプルコード

当方のページにはサンプルがないためコードのみ記載します。

同意文をすべて読まないと、同意確認ボタンが押せない場合などが該当します(disabled =False)

Dim driver As New Selenium.WebDriver

'■Edge/ChromeでWebページの要素が有効 or 無効のチェックをする。
Public Sub sample()
    '■ブラウザを起動
    driver.Start "chrome" 'Edgeの場合はdriver.start "edge"
    driver.Get "https://vba-create.jp/"
   
    '■ページ内の指定要素(xxxx)がページ上に有効であれば、True/無効であればFalse
    debug.print driver.FindElementById("xxxx").IsEnabled 
End Sub

関連記事

SeleniumBasicについて

Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。

但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。

コメント

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