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来查找和迭代元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |