当前位置: 代码迷 >> VB Dotnet >> WebBrowser获取动态加载的代码解决方案
  详细解决方案

WebBrowser获取动态加载的代码解决方案

热度:176   发布时间:2016-04-25 01:59:55.0
WebBrowser获取动态加载的代码
链接:
http://search.jd.com/Search?keyword=%E6%AF%9B%E5%91%A2%E5%A4%96%E5%A5%97%E5%A5%B3&enc=utf-8&pvid=mzl731fi.tf6ezr#keyword=%E6%AF%9B%E5%91%A2%E5%A4%96%E5%A5%97%E5%A5%B3&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&sttr=1&click=&psort=&page=3

代码:
 For Each item As HtmlElement In webFrm.Document.All
            If item.TagName.ToUpper().Equals("DIV") Then
                If item.Id = "J_goodsList" Then
                    MessageBox.Show("找到了")
                    Return
                End If 
            End If 
        Next

在浏览器里审查元素有这个J_goodsList



------解决思路----------------------
搞好请结贴
代码没有问题,你的这一查找过程需要放在WebBrowser的DocumentCompleted事件中,也就是加载完成的事件,你加载都没完成连毛也不会找到的,这一页我给你找到两个J_goodsList

Dim webFrm As New WebBrowser()
AddHandler webFrm.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PrintDocument)
webFrm.Url = New Uri("http://search.jd.com/Search?keyword=%E6%AF%9B%E5%91%A2%E5%A4%96%E5%A5%97%E5%A5%B3&enc=utf-8&pvid=mzl731fi.tf6ezr#keyword=%E6%AF%9B%E5%91%A2%E5%A4%96%E5%A5%97%E5%A5%B3&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&sttr=1&click=&psort=&page=3")

Private Sub PrintDocument(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
    Dim webFrm As WebBrowser = CType(sender, WebBrowser)
For Each item As HtmlElement In webFrm.Document.All
If item.TagName.ToUpper().Equals("DIV") Then
If item.Id = "J_goodsList" Then
MessageBox.Show("找到了")
Return
End If 
End If 
Next
End Sub
  相关解决方案