加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何将HTML表数据“反序列化”为二维数组?

发布时间:2020-12-15 02:33:07 所属栏目:Java 来源:网络整理
导读:我需要使用Selenium对两个表进行数据验证. 给定一个填充了数据的正确标记的HTML表格: table tbody tr tdA/td tdB/td tdC/td /tr tr td1/td td2/td td3/td /tr /tbody/table 我希望使用Selenium将此表(收集其数据)“反序列化”为二维数组(String [] []).我想
我需要使用Selenium对两个表进行数据验证.

给定一个填充了数据的正确标记的HTML表格:

<table>
    <tbody>
        <tr>
            <td>A</td>
            <td>B</td>
            <td>C</td>
        </tr>

        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
    </tbody>
</table>

我希望使用Selenium将此表(收集其数据)“反序列化”为二维数组(String [] []).我想这样做的原因是我有另一个HTML表(在另一个网页上),其中包含据称存储在其中的相同数据 – 我需要在这两个表之间执行数据验证.

我已经尝试了很多关于如何解决这个问题的选项,并且迭代的逐个单元格数据收集(使用getTable()或getText()方法定位单元格)不是其中之一 – 因为它需要大量的时间在重载的网页上完成一个大表.

在我的情况下,JavaScript注入(使用getEval()方法)不可用,因为该表位于< iframe>中.具有与主页面不同的原点(基本URL).并且根据same origin policy,这不能执行.

伙计们,关于如何解决给定问题的任何想法?

解决方法

您可以使用JAXB将HTML文本反序列化为普通java对象层次结构,然后从这些对象构造2D数组.

另一种选择:将文本解析为XML到org.w3c.dom.Document中,并在Java中使用XPath来查找和迭代元素.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读