【问题标题】:VBA-Selenium run time error, window not found: unable to find element on closed windowVBA-Selenium 运行时错误,找不到窗口:无法在关闭的窗口上找到元素
【发布时间】:2021-01-25 06:40:23
【问题描述】:

无论我如何尝试,VBA selenium 都无法在加载的页面中找到现有元素。 这是我使用的最后一个代码:

Sub TableData()
Dim driver As New WebDriver
Dim sInfo As String

With driver
    .Start "Internet Explorer"
    .Get "http://cvb.manatron.com/Tabs/PropertySearch.aspx"
    .FindElementById("fldInput").SendKeys ("Carter")
    .FindElementById("btnsearch").Click
    sInfo = .FindElementById("grm-search", timeout:=20000).Text
    Debug.Print sInfo
    .Quit
End With

End Sub

希望有人可以提供帮助。谢谢

【问题讨论】:

  • 网页加载速度可能比 VBA 代码运行的慢一些。在.FindElementById 之前等待 5 秒,然后重试。
  • 不管等多久,页面总是卡顿。
  • 为什么您的问题与问题标题不同?哪个是正确的?
  • 使用这个Dim driver As New ieDriver
  • 抱歉混淆,标题是正确的。更改为“Dim driver As New ieDriver”后仍未解决。

标签: vba excel selenium


【解决方案1】:

通过在SendKeys 之前添加延迟并尝试检索sInfo,这对我有用。

Option Explicit

Sub TableData()
Dim driver As New WebDriver
Dim sInfo As String

With driver
    .Start "Chrome" '"Internet Explorer"
    .Get "http://cvb.manatron.com/Tabs/PropertySearch.aspx"
 
     Application.Wait Now + TimeValue("00:00:02")

    .FindElementByCss("#fldInput").SendKeys "Carter"
    .FindElementById("btnsearch").Click
     
    Application.Wait Now + TimeValue("00:00:01")

    sInfo = .FindElementById("grm-search", timeout:=20000).Text
    Debug.Print sInfo
    .Quit
End With

End Sub

输出:

【讨论】:

    猜你喜欢
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多