以文本方式查看主题

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单号查询.zip



--  作者:有点甜
--  发布时间: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编辑过]