vb 获取网页指定内容,求代码 5
如何获取网页指定内容。。代码我写好了PrivateSubForm_Load()WebBrowser1.Navigate"指定页面"EndSubPrivateSubWebB...
如何获取网页 指定内容。。 代码我写好了
Private Sub Form_Load()
WebBrowser1.Navigate "指定页面"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Text1 = WebBrowser1.Document.getElementsByname("yyy")(0).Value ‘读取网页name属性下 Value的数值。
End Sub
上面我都做好了,下面我需要帮助的是。
打开软件后,检测是否加载完指定的网页。要么没有联网,要么就是网页无法打开(如果没有正常加载完就提示错误)
检测打开的指定页面是否存在,如果打开的页面出现自动跳转道其他页面的话就提示错误
当页面正常打开,页面也是指定页面,获取 NAME这个属性下 Value的数值的时候,发现 没有这个NAME这个指定数值,就提示错误,或者退出程序。。。
我菜鸟一枚,,这里主要用的最多的是 判断语句,,,我其实很多代码不懂,,百度上也找了 很复杂 所以希望大神 能帮我啊 啊啊啊啊 。。。。。。 展开
Private Sub Form_Load()
WebBrowser1.Navigate "指定页面"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Text1 = WebBrowser1.Document.getElementsByname("yyy")(0).Value ‘读取网页name属性下 Value的数值。
End Sub
上面我都做好了,下面我需要帮助的是。
打开软件后,检测是否加载完指定的网页。要么没有联网,要么就是网页无法打开(如果没有正常加载完就提示错误)
检测打开的指定页面是否存在,如果打开的页面出现自动跳转道其他页面的话就提示错误
当页面正常打开,页面也是指定页面,获取 NAME这个属性下 Value的数值的时候,发现 没有这个NAME这个指定数值,就提示错误,或者退出程序。。。
我菜鸟一枚,,这里主要用的最多的是 判断语句,,,我其实很多代码不懂,,百度上也找了 很复杂 所以希望大神 能帮我啊 啊啊啊啊 。。。。。。 展开
3个回答
展开全部
我用如下代码测试了。说明你要找的元素不存在。代码应该没问题
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询