我是VBA中使用Selenium Driver的新手,在单击时遇到问题。我使用";。等待";在";。单击";但有时有效,有时无效。
With MyBrowser
.Wait (WaitTime)
.FindElementByXPath("//div[text()='" + cl.Value + "']", timeout).Click
End With
有任何方法可以使一个循环直到";。单击";是否成功单击?
谢谢!
我使用;On Error GoTo";我不知道这是否是最好的方式,但对我来说效果很好。
Sub WaitElements(element As String)
Retry:
On Error GoTo Counter
MyBrowser.FindElementByXPath("//div[text()='" + element + "']").Click
Exit Sub
Counter:
i = i + 1
Debug.Print i
If i = 10 Then
On Error GoTo 0
MyBrowser.FindElementByXPath("//div[text()='" + element + "']").Click
End If
Resume Retry
End Sub
我添加了一个计数器以避免无限循环。如果计数器达到10,则显示错误。此外,我还使用debug.print.打印了我在即时窗口中得到的循环数
我希望这能帮助其他人!