Foxtable(狐表)用户栏目专家坐堂 → 网页取数


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

主题:网页取数

帅哥,在线噢!
aidimeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
网页取数  发帖心情 Post By:2024/1/12 11:47:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240112114527.png
图片点击可在新窗口打开查看

Dim Cols() As String = {"姓名", "表具编号", "imei", "地址", "用水日期", "日累计量" }

Dim elems As object = web.Document.GetElementById("layui-table").GetElementsByTagName("tr")
是这样写吗

 回到顶部
帅哥,在线噢!
aidimeng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2024/1/12 12:18:00 [显示全部帖子]

For Each a As Object In web.Document.GetElementsByTagName("table")
    If a.GetAttribute("class") = "layui-table" Then
        Dim elems As Object = a.GetElementsByTagName("tr")
        Dim m As Integer = 0
        Dim k As Integer
        MessageBox.Show("1")
        For Each elem As Object In elems
            Dim i As Integer = -1
            m = m + 1
            If m >= 2 And m <= elems.count Then '因为网页的表格有标题,如果不判断,就会增加出一个空行
                
                
                t1.Table.AddNew
                Dim tdelems As Object = elem.GetElementsByTagName("td")
                
                For Each tdelem As Object In tdelems
                    '                i = i + 1
                    '                t1.Table.Current(Cols(i)) = tdelem.Innertext
                    MessageBox.Show(tdelem.Innertext)
                Next
                
                
            End If
        Next
    End if
    MessageBox.Show("13") ----程序执行这里
Next
我理解的逻辑很清晰的,先取到table标签的集合,在找class=layui-table 的table  但就是找不到

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240112123818.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240112121610.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2024/1/12 12:52:58编辑过]

 回到顶部
帅哥,在线噢!
aidimeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:798 积分:7677 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2024/1/12 21:40:00 [显示全部帖子]

 Dim tbs As Object = web.Document.GetElementsByTagName("table")
 'MessageBox.Show(“1”)  ‘如果增加这阁语句,后面的  MessageBox.Show(a.GetAttribute("classname")) 显示 “layui-table”。注释这句代码,后面就没有任何提示
 For Each a As Object In tbs
   
    MessageBox.Show(a.GetAttribute("classname"))
    If a.GetAttribute("classname") = "layui-table" Then
        Dim elems As Object = a.GetElementsByTagName("tr")
        MessageBox.Show("1")
    End If  
    
Next

就想知道为什么会这样呢 'MessageBox.Show(“1”)  启到什么作用呢
[此贴子已经被作者于2024/1/12 21:42:46编辑过]

 回到顶部