マウスオーバーが必要な要素を操作【Selenium Basic × ExcelVBA】

Webページの自動操作中にマウスが重ならないと有効にならない要素があり

その要素にマウス操作を行い、有効にしてSendKeysで入力を行う

IsEnabledプロパティで要素の有効無効を確認し事前・事後の有効・無効確認を行う

Mouse.MoveToメソッドで指定した要素までマウスを移動する(注意※画面が見えないタイプの場合マウス移動はできない)

引数ElementのWeb要素まで移動させマウスオーバーの状態にし、要素が有効になれば入力するという形で実践

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

Option Explicit
Public Sub Sample()

'driverでChromeDriverを使えるように準備
Dim driver As New Selenium.ChromeDriver

'指定したサイトへ接続
driver.Get "https://vba.company/samplepage/7/"

'要素が有効か無効かを取得する
Debug.Print driver.FindElementById("mouse").IsEnabled

'マウスを指定した要素の中心点に移動する
driver.Mouse.MoveTo element:=driver.FindElementById("mouse")

'要素が有効か無効かを取得する
Debug.Print driver.FindElementById("mouse").IsEnabled

'IDを指定して文字を送る
driver.FindElementById("mouse").SendKeys "aiueo"

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です