我有以下代码试图访问网页,并且该程序在测试innerHTML属性时出错。以下是代码:
iex = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
iex.visible = True
iex.navigate("https://url.aspx")
While iex.readystate <> 4 Or iex.busy
Application.DoEvents()
End While
Dim htdoc As mshtml.IHTMLDocument = iex.Document
Dim htstring As mshtml.IHTMLBodyElement = htdoc.body
If (InStr(htstring.innerHTML, "An error occured while processing your request") > 0) Then
最后一行是获取错误的地方。而且我已经确定它会得到错误,因为htdoc什么也没有,导致其他一切都没有。至少,这就是我认为的问题。
进一步排除故障后,下面的行是导致错误的原因。
mshtml.IHTMLBodyElement = htdoc.body
异常错误是:
消息=来自HRESULT的异常:0x800A01B6
项目=为了评估索引 属性,属性必须是合格的,参数必须是 由用户明确提供。
这在IE更新到IE11之前有效(我不记得之前是什么版本,但我认为它是IE10)。
我认为我做错了什么,但是你能提供的任何帮助都会非常有益!