以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]获取图片问题count (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116678) |
-- 作者:188802386 -- 发布时间:2018/3/29 10:57:00 -- [求助]获取图片问题count 之前原来的代码 Dim idx = 1 For Each dl As object In web.Document.GetElementsByTagName("img") Dim url = dl.GetAttribute("src") If url > "" Then Dim c As String = "图片" & idx If Tables("house").Cols.Contains(c) Then dr(c) = url End If idx += 1 End If Next 是没有问题的,但升级后出现 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2018.3.3.1 错误所在事件:窗口,房源,Button5,Click 详细错误信息: 索引和计数必须引用该字符串内的位置。 参数名: count 错误提示,但是用下面的代码测试起又没有问题 For Each dl As object In web.Document.GetElementsByTagName("img") Dim url = dl.GetAttribute("src") If url > "" Then msgbox(url) End If Next 请问有问题是出在那呢
|
-- 作者:有点甜 -- 发布时间:2018/3/29 11:12:00 -- 【索引和计数必须引用该字符串内的位】应该是你datacolchanged事件有影响的代码,你注释掉那个事件的代码,再测试。 |
-- 作者:188802386 -- 发布时间:2018/3/29 11:55:00 -- 以下代码为原来的,之前能同时获取基础数据和图片数据,但是现在出现这个count问题,但是用以下代码分别获取基础数据或图片数据 有能正常获取,不知道问题出在那,楼上datacolchanged事件在执行以下代码时是没有触发的。 Dim txb1 As String = "http://ia.com/house/view?id=" & e.Form.Controls("TextBox5").text Dim wz As String = "FYID" Dim te As String = "tel" Dim dr As Row = Tables("house").addnew dr(wz) = txb1 dr(te) = e.Form.Controls("TextBox3").text \'获取基础数据 Dim txb As WinForm.TextBox = e.Form.Controls("TextBox6") Dim web As new windows.forms.webbrowser web.ScriptErrorsSuppressed = True web.Navigate(txb.Text) Do Until web.ReadyState = 4 Application.DoEvents Loop For Each dl As object In web.Document.GetElementsByTagName("DIV") If dl.GetAttribute("classname") = "col-lg-10" Then Dim dll = dl.Innertext If dll > "" Then Dim Parts() As String = dll.Split(vbcrlf) dr("房源ID") = (Parts(0).Remove(0,5)) dr("房源编号") = (Parts(2).Remove(0,6)) \'....... End If End If Next \'获取图片数据 Dim idx = 1 For Each dl As object In web.Document.GetElementsByTagName("img") Dim url = dl.GetAttribute("src") If url > "" Then Dim c As String = "图片" & idx If Tables("house").Cols.Contains(c) Then dr(c) = url End If idx += 1 End If Next web.Dispose() GC.Collect()
|
-- 作者:188802386 -- 发布时间:2018/3/29 12:12:00 -- 问题已解决,是网页改版了 获取数据溢出导致 |