Foxtable(狐表)用户栏目专家坐堂 → [求助]获取图片问题count


  共有1712人关注过本帖树形打印复制链接

主题:[求助]获取图片问题count

帅哥哟,离线,有人找我吗?
188802386
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]获取图片问题count  发帖心情 Post By:2018/3/29 10:57:00 [只看该作者]

之前原来的代码
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
请问有问题是出在那呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/29 11:12:00 [只看该作者]

索引和计数必须引用该字符串内的位】应该是你datacolchanged事件有影响的代码,你注释掉那个事件的代码,再测试。


 回到顶部
帅哥哟,离线,有人找我吗?
188802386
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4915 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2018/3/29 12:12:00 [只看该作者]

问题已解决,是网页改版了 获取数据溢出导致

 回到顶部