首页>Program>source

我正在尝试在Excel中自动执行工作的表单提交,并且在基本方面遇到了麻烦.我不断收到错误消息:

"Method 'Document' of object 'IWebBrowser2' failed"

按原样编写代码,如果我在等待检查中包含"或"部分,则会收到错误消息

"Automation Error The object invoked has disconnected from its clients."

我不确定该怎么做,我一直在寻找解决方案.该代码旨在最终完成更多工作,但在第一次尝试 getElementsByTagName时仍然失败 .

Sub GoToWebsiteTest()
Dim appIE As Object 'Internet Explorer
Set appIE = Nothing
Dim objElement As Object
Dim objCollection As Object
If appIE Is Nothing Then Set appIE = CreateObject("InternetExplorer.Application")
sURL = *link*
With appIE
    .Visible = True
    .Navigate sURL
End With
Do While appIE.Busy ' Or appIE.ReadyState <> 4
    DoEvents
Loop
Set objCollection = appIE.Document.getElementsByTagName("input")
Set appIE = Nothing
End Sub
最新回答
  • 2021-1-7
    1 #

    我前一段时间遇到了同样的问题.以中等完整性级别使用Internet Explorer. InternetExplorer默认为低完整性级别,如果您在工作时通过本地Intranet进行此操作,则有时会给出上面显示的第二条错误消息。 单击此处了解更多信息.我在下面修改了您的代码.请告诉我是否有帮助。

    Sub GoToWebsiteTest()
    Dim appIE As InternetExplorerMedium
    'Set appIE = Nothing
    Dim objElement As Object
    Dim objCollection As Object
    Set appIE = New InternetExplorerMedium
    sURL = "http://example.com"
    With appIE
        .Navigate sURL
        .Visible = True
    End With
    Do While appIE.Busy Or appIE.ReadyState <> 4
        DoEvents
    Loop
    Set objCollection = appIE.Document.getElementsByTagName("input")
    Set appIE = Nothing
    End Sub
    

    记住Microsoft Internet Controls的引用,并根据您打算做的进一步工作,Microsoft HTML Object Library

  • 2021-1-7
    2 #

    与上面的代码不完全相同,但在某种程度上相似,以下代码解决了我的问题:< / p>

    Do
    Loop Until ie.readystate = 3
    Do
    Loop Until ie.readystate = 4
    

    只需将其放在要开始使用内容的行之前。 要获取有关其工作方式的更多信息,您可以在此处检查

  • 2021-1-7
    3 #

    以下方法解决了此错误的问题: 通过"任务管理器"关闭所有资源管理器实例,然后尝试运行将起作用的代码。

  • php:在准备好的语句中使用LIKE'%{$ var}%'的正确方法? [mysqli]
  • 有没有很好的PHP地理位置服务?