以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  甜甜,续上次的问题(网页等待)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50093)

--  作者:qianqian1530
--  发布时间:2014/4/29 11:13:00
--  甜甜,续上次的问题(网页等待)
  原来贴:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=49605&authorid=0&page=0&star=2


 您说的  查找某个元素,查找不到,继续等待 那个代码,研究了很久, 还是一点头绪都没有.. 帮帮我 一下被~
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/4/29 11:16:00
--  
参考帮助,你应该在浏览器加载完成后的事件里处理http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=32808&skin=0
--  作者:qianqian1530
--  发布时间:2014/4/29 12:19:00
--  
问题是,  能采集 跳转之前的数据,   采集不了网页跳转后的数据,    
--  作者:有点甜
--  发布时间:2014/4/29 12:21:00
--  

 比如,你连续去检测web有了某一元素,才执行下面的代码

 

 Do Until web.Document.GetElementsByTagName("Table") IsNot Nothing

    Application.DoEvents   \'循环

 Loop


--  作者:qianqian1530
--  发布时间:2014/4/29 13:16:00
--  亲
亲, 为啥不好使呢...

Dim i As Long
Dim web As New System.Windows.Forms.WebBrowser

e.Form.Controls("Label1").text= i
web.Navigate("http://thira.plavox.info/transport/api/?t=sagawa&no=564410245055 ")

Do Until web.ReadyState = 4
    Application.DoEvents
Loop

Do Until web.Document.GetElementsByTagName("table") IsNot Nothing
    Application.DoEvents   \'循环
Loop
If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete
    Dim elems As System.Windows.Forms.HtmlElementCollection
    Elems = web.Document.GetElementsByTagName("table")
    For Each elem As System.Windows.Forms.Htmlelement In elems
        If elem.GetAttribute("id") Like "_id46:tb1" Then
            Dim e_Info As System.Windows.Forms.HtmlElement = elem.GetElementsByTagName("tbody")(0)
            Dim e_Info1 As System.Windows.Forms.HtmlElement = e_Info.GetElementsByTagName("tr")(0).GetElementsByTagName("td")(2)
            Tables("表A").AddNew
            Tables("表A").Current("第一列") = e_Info1.InnerText
            DataTables("表A").Save()
        End If
    Next
End If

--  作者:有点甜
--  发布时间:2014/4/29 14:05:00
--  

 呃,是死循环,还是没有效果?试试这样

 

--------------------
 
 写错了,请看下一楼
[此贴子已经被作者于2014-4-29 14:08:46编辑过]

--  作者:有点甜
--  发布时间:2014/4/29 14:08:00
--  

 呵呵,写错了,必须这样写。

 

Do Until web.Document.GetElementsByTagName("table").count > 0
    Application.DoEvents   \'循环
Loop


--  作者:qianqian1530
--  发布时间:2014/4/29 14:11:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

终于好事了, 太谢谢你了!!