我用如下代码测试了。说明你要找的元素不存在。代码应该没问题
Private Sub Command1_Click()
Text1.Text = WebBrowser1.Document.getElementsByName("key")(0).Value
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.yt969.com/"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Text1.Text = WebBrowser1.Document.getElementsByName("key")(0).Value
End Sub
推荐用下面的方法,先获取源码,在做字符串分析。
Function GetHttpPage(GetUrl)
Dim xmlHttp
Set xmlHttp = CreateObject("MSXML2.serverXMLHTTP.6.0")
xmlHttp.Open "GET", GetUrl, False
xmlHttp.setTimeouts 10000, 10000, 10000, 10000
'第一个数值: 解析DNS名字的超时时间10秒
'第二个数值: 建立Winsock连接的超时时间10秒
'第三个数值: 发送数据的超时时间15秒
'第四个数值: 接收response的超时时间15秒
'xmlHttp.setRequestHeader "Cookie", Cookie
On Error Resume Next
xmlHttp.send
If Err.Number = -2147012894 Then
GetHttpPage = "$False$"
Exit Function
End If
If xmlHttp.readystate <> 4 Then
Set xmlHttp = Nothing
GetHttpPage = "$False$"
Exit Function
End If
GetHttpPage = BytesToBstr(xmlHttp.responseBody, "utf-8")
Set xmlHttp = Nothing
End Function
Public Function BytesToBstr(Body, Cset)
Dim objStream
Set objStream = CreateObject("adodb.stream")
objStream.Type = 1
objStream.Mode = 3
objStream.Open
objStream.Write Body
objStream.Position = 0
objStream.Type = 2
objStream.Charset = Cset
BytesToBstr = objStream.ReadText
objStream.Close
Set objStream = Nothing
End Function
获取源代码即可
你判断对象存在不存在就行了。