VBA:【Selenium】XPathで取得するid属性が動的で要素を取得できない場合の対処方法(Contains)


 SeleniumでWebスクレイピングをする際にXPathを使うことが多いと思います。
 ところがあるサイトで、ロードするたびにXPathのid部分が変わってしまうものがありました。
 そこで「contains」を使うことで対応できたので、「contains」の使い方を説明します。

◆今回の問題

対象サイトで取得したXPathは以下のようなものになり。
「id」がロードするたびにランダムな数字になってしまいXPathで取得できない。

◆解決策

 以下のように「contains」を使って、ユニークであろう属性から対象を取得するようにしました。「button」タグで「data-role」属性が「export」のものを取得します。

対象のコードは以下の部分です。

◆「Contains」について

XPath で「Contains」を使うと、特定の文字列を含む要素を取得できるようになります。


おすすめ