我需要使用 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()方法)在我的情况下不可用,因为该表位于具有原点的&lt; iframe&gt; <基础URL )与主页不同。根据{{3}},这无法执行。
伙计们,关于如何解决特定问题的任何想法?
答案 0 :(得分:1)
您可以使用JAXB将HTML文本反序列化为普通java对象层次结构,然后从这些对象构造2D数组。
另一种选择:将文本解析为XML到org.w3c.dom.Document中,并在Java中使用XPath来查找和迭代元素。