一尘不染

如何使用Selenium通过索引在Xpath节点集中选择指定的节点?

selenium

我正在写一个selenium测试用例。这是我用来匹配数据表中所有“修改”按钮的xpath表达式。

//img[@title='Modify']

我的问题是,如何按索引访问匹配的节点集?我尝试过

//img[@title='Modify'][i]

//img[@title='Modify' and position() = i]

但是两者都没有。.我也尝试了XPath checker(一个firefox扩展名)。总共找到13个匹配项,那么我完全不知道如何选择其中之一。
或者XPath是否支持指定选择的不在同一父节点下的节点?


阅读 262

收藏
2020-06-26

共1个答案

一尘不染

这是一个常见问题解答

//someName[3]

意思是someName文档中的所有元素,它们是someName其父元素的第三 个子元素-可能有很多这样的元素。

您想要的正是第三个someName元素

(//someName)[3]

说明
:的[]优先级(优先级)高于//。请记住,在//someName需要指定所选节点列表的第N个节点时,始终将类型的表达式放在方括号中。

2020-06-26