我有类似的东西(root
中有更多元素):
<root>
<a>
<b></b>
</a>
<a>
<b></b>
</a>
</root>
我想在位置b
找到i
节点。我尝试过的是:
findElement(By.xpath("root//b[" + i + "]"));
但是这种按位置查找节点的方法似乎不适用于//
。我怎样才能找到我的节点?
答案 0 :(得分:4)
注意:
之间的区别//b[1]
,选择b
元素兄弟中的第一个b
元素,因为[1]
比//
绑定得更紧密 (//b)[1]
,它选择所有b
元素中的第一个b
元素
在文件中。因此,如果您想要文档中的i
th b
元素,请使用
findElement(By.xpath("(//b)[" + i + "]"));
当然,您可以通过在b
步骤前面加上层次结构中较高的其他步骤,将范围限制为文档的某些部分。