【问题标题】:Excel VBA "Method 'Document' of object 'IWebBrowser2' failed"Excel VBA“对象'IWebBrowser2'的方法'文档'失败”
【发布时间】:2015-07-17 03:52:55
【问题描述】:

我正在尝试在 Excel 中自动提交表单以供工作,但在基础知识方面遇到了问题。我不断收到错误消息:

“对象‘IWebBrowser2’的方法‘文档’失败”

使用原样的代码,如果我在等待检查中包含 Or 部分,我会收到错误

“自动化错误调用的对象已与其客户端断开连接。”

我不知道在这里做什么,我已经到处寻找解决方案。这段代码最终会做更多的事情,但它在第一次尝试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

【问题讨论】:

    标签: vba excel web-scraping


    【解决方案1】:

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

    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 对象库

    【讨论】:

    • 非常感谢您的回答,现在可以使用了! (至少那部分,在那之后遇到另一个问题:/)
    【解决方案2】:

    与上面的代码不完全一样,但有些相似,下面的代码解决了我的问题:

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

    只需将其放在您要开始处理内容的行之前。 要了解有关它如何工作的更多信息,您可以查看here

    【讨论】:

      【解决方案3】:

      下面的方法解决了我这个错误的问题: 通过“任务管理器”关闭所有资源管理器实例并尝试运行它会工作的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多