以文本方式查看主题 - 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=160584) |
-- 作者:yyzlxc -- 发布时间:2021/2/7 10:45:00 -- [求助]代码运行错误 代码运行错误,如何修改,请各位老师指教,谢谢!! DataTables("表C").DataRows.Clear() For i As Integer = 1 To 10 Dim web As New System.Windows.Forms.WebBrowser() web.Navigate("https://s.askci.com/stock/0-0-0/" & i & "/") web.ScriptErrorsSuppressed = True Do Until web.ReadyState = 4 AndAlso web.Document.GetElementsByTagName("table").count > 0 Application.DoEvents Loop Dim tb = web.Document.GetElementsByTagName("table") Dim trs = tb(0).GetElementsByTagName("tr") \'根据标签得到数据集合 For i1 As Integer = 1 To trs.count-1 Dim r As Row = Tables("表C").AddNew Dim tds = trs(i1).GetElementsByTagName("td") For j As Integer = 0 To tds.count-1 r("序号") = tds(0).innerText r("股票代码") = tds(1).innerText r("股票名称") = tds(2).innerText r("公司全称") = tds(3).innerText r("上市日期") = tds(4).innerText r("招股书") = tds(5).innerText r("公司财报") = tds(6).innerText r("行业分类") = tds(7).innerText r("主营业务") = tds(8).innerText Next web.Dispose r.Save() Next Next |
-- 作者:有点蓝 -- 发布时间:2021/2/7 10:55:00 -- Dim tb = web.Document.GetElementsByTagName("table") if tb.trs.count = 0 then continue for Dim trs = tb(0).GetElementsByTagName("tr") \'根据标签得到数据集合 For i1 As Integer = 1 To trs.count-1 Dim r As Row = Tables("表C").AddNew Dim tds = trs(i1).GetElementsByTagName("td") ‘去掉For j As Integer = 0 To tds.count-1 r("序号") = tds(0).innerText r("股piao代码") = tds(1).innerText r("股piao名称") = tds(2).innerText r("公司全称") = tds(3).innerText r("上市日期") = tds(4).innerText r("招股书") = tds(5).innerText r("公司财报") = tds(6).innerText r("行业分类") = tds(7).innerText r("主营业务") = tds(8).innerText Next web.Dispose r.Save()
|
-- 作者:yyzlxc -- 发布时间:2021/2/7 11:10:00 -- 加了标记的代码,运行出错。 DataTables("表C").DataRows.Clear() For i As Integer = 1 To 10 Dim web As New System.Windows.Forms.WebBrowser() web.Navigate("https://s.askci.com/stock/0-0-0/" & i & "/") web.ScriptErrorsSuppressed = True Do Until web.ReadyState = 4 AndAlso web.Document.GetElementsByTagName("table").count > 0 Application.DoEvents Loop Dim tb = web.Document.GetElementsByTagName("table") If tb.trs.count = 0 Then Continue For Dim trs = tb(0).GetElementsByTagName("tr") \'根据标签得到数据集合 For i1 As Integer = 1 To trs.count-1 Dim r As Row = Tables("表C").AddNew Dim tds = trs(i1).GetElementsByTagName("td") r("序号") = tds(0).innerText r("股piao代码") = tds(1).innerText r("股piao名称") = tds(2).innerText r("公司全称") = tds(3).innerText r("上市日期") = tds(4).innerText r("招股书") = tds(5).innerText r("公司财报") = tds(6).innerText r("行业分类") = tds(7).innerText r("主营业务") = tds(8).innerText web.Dispose r.Save() Next Next |
-- 作者:有点蓝 -- 发布时间:2021/2/7 11:21:00 -- if tb.count = 0 then continue for |
-- 作者:yyzlxc -- 发布时间:2021/2/7 11:33:00 -- 还是有问题,请有点蓝老师指教,谢谢!! |
-- 作者:有点蓝 -- 发布时间:2021/2/7 11:37:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,哪一行出错? |
-- 作者:yyzlxc -- 发布时间:2021/2/7 11:40:00 -- 运行到7(黄色标记)时出错。(显示到7) DataTables("表C").DataRows.Clear() For i As Integer = 1 To 10 Dim web As New System.Windows.Forms.WebBrowser() web.Navigate("https://s.askci.com/stock/0-0-0/" & i & "/") web.ScriptErrorsSuppressed = True Do Until web.ReadyState = 4 AndAlso web.Document.GetElementsByTagName("table").count > 0 Application.DoEvents Loop output.Show(1) Dim tb = web.Document.GetElementsByTagName("table") output.Show(2) If tb.count = 0 Then Continue For output.Show(3) Dim trs = tb(0).GetElementsByTagName("tr") \'根据标签得到数据集合 output.Show(4) For i1 As Integer = 1 To trs.count-1 output.Show(5) Dim r As Row = Tables("表C").AddNew output.Show(6) Dim tds = trs(i1).GetElementsByTagName("td") output.Show(7) r("序号") = tds(0).innerText r("股票代码") = tds(1).innerText r("股票名称") = tds(2).innerText r("公司全称") = tds(3).innerText r("上市日期") = tds(4).innerText r("招股书") = tds(5).innerText r("公司财报") = tds(6).innerText r("行业分类") = tds(7).innerText r("主营业务") = tds(8).innerText output.Show(8) web.Dispose output.Show(9) r.Save() output.Show(10) Next output.Show(11) Next [此贴子已经被作者于2021/2/7 11:41:36编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/7 11:49:00 -- 一样判断一下tds数组的数量是不是为0 tds.count
|
-- 作者:yyzlxc -- 发布时间:2021/2/7 12:18:00 -- 有点蓝老师,好像还是不行,做一个案例上传,还请指教,谢谢!! |
-- 作者:有点蓝 -- 发布时间:2021/2/7 13:38:00 -- Dim tds = trs(i1).GetElementsByTagName("td") if tds.count = 9 thenr("序号") = tds(0).innerText …… end if
|