0

我在 VB.NET 控制台应用程序中使用 mshtml 库从 http 请求中提取一些数据。

代码如下:

Dim htmlDocument As IHTMLDocument2
For i As Integer = 0 To 10
    searchHtml = getHtml(url)
    htmlDocument = New HTMLDocumentClass()
    htmlDocument.write(searchHtml)
    htmlDocument.close()
    Dim results As IHTMLElement = htmlDocument.body.all.item("ires")
    For Each li As IHTMLElement In results.all.tags("li")
        Dim element As IHTMLElement = li.all.tags("cite")(0)
        If element.innerText.ToLower().Contains(text) Then
            ' Do Something here
            Exit For
        End If
    Next
Next

上面的代码是从另一个方法递归调用的。

我可以在调试中运行我的代码,它可以一次又一次地运行,没有问题。

如果我编译 exe 并运行它,那么我会收到两个错误之一。最初,在对上述内容进行了 11 次调用后,我得到了一个“未设置对象实例的对象引用”。这是可重复的,并且总是在 11 次迭代后发生。

如果我在上面添加一个 Threading.Thread.Sleep(1000) 并重新编译,我会在一定次数的迭代后再次收到“访问被拒绝”错误。

4

0 回答 0