【VBA Selenium】要素が見つかるまで待機する。
VBA Seleniumでdriver.getする時に特定の要素が見つかるまで待機を繰り返す処理のサンプル。
Function waitTillElementExist(element)
Dim elementExists As Boolean
Dim maxWaitTime As Integer
Dim waitInterval As Integer
Dim elapsedTime As Integer
' 最大待機時間(10秒)
maxWaitTime = 10
' 待機間隔(1秒)
waitInterval = 1
' 経過時間
elapsedTime = 0
' 要素が見つかるまでループ
Do
On Error Resume Next
elementExists = Not element Is Nothing
On Error GoTo 0
'要素が見つかったらLoopを抜ける
If elementExists Then Exit Do
' 要素が見つからなければ1秒待機
Application.Wait Now + TimeValue("00:00:01")
elapsedTime = elapsedTime + waitInterval
Loop While elapsedTime < maxWaitTime
' 要素が見つからなかった場合
If Not elementExists Then
MsgBox "Element not found within " & maxWaitTime & " seconds."
End
End If
End Function