以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 动态加载和卸载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49605) |
-- 作者:qianqian1530 -- 发布时间:2014/4/21 11:24:00 -- 动态加载和卸载 想做一个动态加载网页 并采集数据的软件 但是发现, 动态加载 WebBrowser 后 不能卸载, 倒是 预览100个左右的网页后开始很卡.. 有办法 卸载后重新加载么?
|
-- 作者:有点甜 -- 发布时间:2014/4/21 11:26:00 -- 你说的是你往里面动态加入了100个webbrowser控件?
不是直接控制webbrowser所打开的地址就行了? |
-- 作者:Bin -- 发布时间:2014/4/21 11:27:00 -- 直接更改 地址就可以了.创建那么多干嘛 如果确实需要动态创建,也是可以动态移除的啊. |
-- 作者:qianqian1530 -- 发布时间:2014/4/21 12:13:00 -- Dim i As Long Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1") For i = 3123456789 To 3123456790 web.address="http://thira.plavox.info/transport/api/?t=sagawa&no=" & i If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete\' e.Form.Controls("Label1").text= i System.Threading.Thread.Sleep(5000) End If Next 这句话 要怎么改呢?
|
-- 作者:有点甜 -- 发布时间:2014/4/21 14:46:00 -- 以下是引用qianqian1530在2014-4-21 12:13:00的发言:
Dim i As Long
Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
For i = 3123456789 To 3123456790
web.address="http://thira.plavox.info/transport/api/?t=sagawa&no=" & i
If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete\'
e.Form.Controls("Label1").text= i
System.Threading.Thread.Sleep(5000)
End If
Next
这句话 要怎么改呢?
说明意图,你说的卡,是指浏览网页卡,还是什么? |
-- 作者:qianqian1530 -- 发布时间:2014/4/21 15:35:00 -- 回复:(有点甜)以下是引用qianqian1530在2014-4-21 ... 电脑卡... 运行半小时左右 ,内存就 80%了....继续运行的话 怕电脑死机, 所以 没试过 |
-- 作者:Bin -- 发布时间:2014/4/21 15:36:00 -- Dim i As Long Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1") For i = 3123456789 To 3123456790 web.address="http://thira.plavox.info/transport/api/?t=sagawa&no=" & i If web.ReadyState=System.Windows.Forms.WebBrowserReadyState.Complete\' e.Form.Controls("Label1").text= i System.Threading.Thread.Sleep(5000) End If Next 如果是这段代码,不应该会这样.
|
-- 作者:qianqian1530 -- 发布时间:2014/4/21 15:38:00 -- 一会儿 上 例子.. 我现在改的,都不知道怎么整了... |
-- 作者:qianqian1530 -- 发布时间:2014/4/21 15:53:00 -- 在窗口1 里 |
-- 作者:有点甜 -- 发布时间:2014/4/21 16:37:00 -- 我用下面的代码测试了几次,没发现有什么问题。 Dim i As Long Dim web As New System.Windows.Forms.WebBrowser For i = 564410245050 To 564410245067 \'564410245267 e.Form.Controls("Label1").text= i web.Navigate("http://k2k.sagawa-exp.co.jp/p/web/okurijosearch.do?okurijtable") 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) If e_Info1.InnerText <>"お問い合わせNo.をお確かめ下さい." Then \'判断货号存在的时候保存 Tables("表A").AddNew Tables("表A").Current("第一列") = i DataTables("表A").Save() End If End If Next End If Next [此贴子已经被作者于2014-4-21 16:36:54编辑过]
|