VBA:【Selenium】WebElement(要素)の指定方法(FindElementメソッド)
◆「FindElementメソッド」とは
「FindElementメソッド」は、指定したいHTMLの要素を各属性を利用して取得します。
例えば「class属性」を利用する場合は以下のように、VBAの場合は「FindElement」の後に「ByClass」を付けて、その後ろに「class」を指定します。
「class」が複数ある場合、対象が上から何番目のものかを指定しなければならず、その場合は以下の「(2)」のように「FindElements」と複数形にする必要があります。
1 2 3 4 5 6 |
'(1)classが1つの場合、「●●●」にclassを入れる' '「Element」は単数形' Driver.FindElementByClass("●●●").Click '(2)classが2つ以上の場合、後ろに()を付けて星マークに前からいくつ目かを数字で入れる(1スタート)' '「Elements」と複数形にする。' Driver.FindElementsByClass("●●●")(★).Click |
◆よく使う属性
属性には「id」属性、「class」属性、「name」属性などあります。
ただ一つのページに複数ある場合が多く、特定するのが大変なので多くの場合「XPath」を使ってしまうのが実情かと思います。
「XPath」
「XPath」については以下で記事にしています。
「id」属性
目的のHTML要素に「id」属性がある場合、指定したidを探してくれます。
1 2 |
'「●●●」にidを入れる' Driver.FindElementById("●●●").Click |
「class」属性
目的のHTML要素に「class」属性がある場合、指定したclassを探してくれます。
「class」は複数同じものに設定していると思うので、HTMLの最初から数えて何番目のものかを指定することになると思います。
1 2 3 4 5 6 |
'classが1つの場合、「●●●」にclassを入れる' '「Element」は単数形' Driver.FindElementByClass("●●●").Click 'classが2つ以上の場合、後ろに()を付けて星マークに前からいくつ目かを数字で入れる(1スタート)' '「Elements」と複数形にする。' Driver.FindElementsByClass("●●●")(★).Click |
「name」属性
目的のHTML要素に「name」属性がある場合、指定した「name」を探してくれます。
1 2 3 4 5 6 |
'nameが1つの場合、「●●●」にnameを入れる' '「Element」は単数形' Driver.FindElementByName("●●●").Click 'nameが2つ以上の場合、後ろに()を付けて星マークに前からいくつ目かを数字で入れる(1スタート)' '「Elements」と複数形にする。' Driver.FindElementsByName("●●●")(★).Click |
◆要素・属性の取得方法
要素・属性の取得方法については以下で記事にしています。