XML子位置与XPath中的文档位置

时间:2016-12-13 16:20:45

标签: java xml selenium xpath

我有类似的东西(root中有更多元素):

<root>
<a>
    <b></b>
</a>
<a>
    <b></b>
</a>
</root>

我想在位置b找到i节点。我尝试过的是:

findElement(By.xpath("root//b[" + i + "]"));

但是这种按位置查找节点的方法似乎不适用于//。我怎样才能找到我的节点?

1 个答案:

答案 0 :(得分:4)

注意:

之间的区别
  • //b[1],选择b元素兄弟中的第一个b元素,因为[1]//绑定得更紧密
  • (//b)[1],它选择所有b元素中的第一个b元素 在文件中。

因此,如果您想要文档中的i th b元素,请使用

findElement(By.xpath("(//b)[" + i + "]"));

当然,您可以通过在b步骤前面加上层次结构中较高的其他步骤,将范围限制为文档的某些部分。