vb 获取网页指定内容,求代码

如何获取网页 指定内容。。 代码我写好了

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 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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-02
获取源代码即可
第2个回答  2015-11-02
你判断对象存在不存在就行了。