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这个指定数值,就提示错误,或者退出程序。。。
我菜鸟一枚,,这里主要用的最多的是 判断语句,,,我其实很多代码不懂,,百度上也找了 很复杂 所以希望大神 能帮我啊 啊啊啊啊 。。。。。。
展开
 我来答
bianchao1
推荐于2017-12-16
知道答主
回答量:40
采纳率:100%
帮助的人:10.9万
展开全部
我用如下代码测试了。说明你要找的元素不存在。代码应该没问题
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
chrrg877562884
2015-11-02 · 超过26用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:35万
展开全部
获取源代码即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小李无刀
2015-11-02 · TA获得超过6359个赞
知道大有可为答主
回答量:8829
采纳率:78%
帮助的人:5014万
展开全部
你判断对象存在不存在就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式