以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于网页表格数据保存到狐表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85879)

--  作者:鲁吉
--  发布时间:2016/6/4 15:06:00
--  [求助]关于网页表格数据保存到狐表

按归之前的例子,自己修改了下,可是保存不过来,还会出现假死现象,只能重新启动狐表。

代码如下,请帮助检查下:

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx/")
Do Until web.ReadyState = 6
    Application.DoEvents
Loop


\'取数据
Dim Cols() As String = { "序号","企业名称","组织机构代码","所在市州","法定代表人","资质类型" }

Dim elems As object = web.Document.GetElementById("list_elem").GetElementsByTagName("tr")
Dim m As Integer = 0
For Each elem As object In elems
    Dim i As Integer = -1
   
    m = m + 1
    If m > 1 Then  \'因为网页的表格有标题,如果不判断,就会增加出一个空行
        Tables("企业列表").AddNew
    End If
   
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    For Each tdelem As object In tdelems
        i = i + 1
        Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
        Tables("企业列表").Current("录入日期") = Date.Today 
       
    Next
Next
Tables("企业列表").save


--  作者:鲁吉
--  发布时间:2016/6/4 15:32:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网页表格数据保存到狐表表中例子.table


--  作者:Hyphen
--  发布时间:2016/6/4 15:34:00
--  
Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx/")
Do Until web.ReadyState = 4
    Application.DoEvents
Loop
--  作者:鲁吉
--  发布时间:2016/6/4 15:36:00
--  

提示未将对象引用设置到对象的实例

 

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.4.6.1
错误所在事件:窗口,企业信息,Button1,Click
详细错误信息:
未将对象引用设置到对象的实例。

[此贴子已经被作者于2016/6/4 15:42:49编辑过]

--  作者:鲁吉
--  发布时间:2016/6/4 15:49:00
--  

为什么他的例子可以,到我这里就不行了?哪里出错误了?


--  作者:鲁吉
--  发布时间:2016/6/4 16:02:00
--  
求高手指点啊!!
--  作者:鲁吉
--  发布时间:2016/6/4 16:41:00
--  
别沉了,还没有得到解决呢
--  作者:Hyphen
--  发布时间:2016/6/4 17:00:00
--  
Dim elems As object = web.Document.GetElementById("list_elem").GetElementsByTagName("tr")

网页里没有list_elem这个ID

dim obj = web.Document.GetElementById("list_elem")
if obj is nothing then return

Dim elems As object = obj.GetElementsByTagName("tr")

--  作者:鲁吉
--  发布时间:2016/6/5 9:13:00
--  
还是没有获取到网页中的内容
--  作者:大红袍
--  发布时间:2016/6/5 12:53:00
--  

参考代码

 

Dim web As New System.Windows.Forms.WebBrowser()
web.Navigate("http://cx.jljsw.com:8088/JLJGPublish/corpinfo/CorpInfo.aspx?rnd=" & Rand.NextDouble)
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("tbody_CorpInfo").Innertext <> Nothing
    Application.DoEvents
Loop

\'取数据
Dim Cols() As String = { "序号","企业名称","组织机构代码","所在市州","法定代表人","资质类型" }
Dim elems As object = web.Document.GetElementById("tbody_CorpInfo").GetElementsByTagName("tr")
Dim m As Integer = 0
For Each elem As object In elems
   
    Tables("企业列表").AddNew
    Dim tdelems As object =  elem.GetElementsByTagName("td")
    Dim i As Integer = 0
    For Each tdelem As object In tdelems
        Tables("企业列表").Current(Cols(i)) = tdelem.Innertext
        i = i + 1
    Next
    Tables("企业列表").Current("录入日期") = Date.Today
   
Next
Tables("企业列表").save