xpath多个条件

时间:2010-05-26 22:37:59

标签: xpath selenium

在selenium IDE中, 我需要找到第三个链接,其文本为“XXX”

<tr>
  <td>clickAndWait</td>
  <td>//a[text()='XXX'][3]</td>
  <td></td>
</tr>

错误:找不到元素,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

使用

<强> (//a[text()='XXX'])[3]

表达式:

//a[text()='XXX'][3]

选择具有值为a的某个文本子项的每个'XXX'元素,并且该元素是其父项的第3个子项。显然,没有这样的节点,你不希望这样,但你想要所有这些a元素的第3个。

这是由上面第一个XPath表达式精确选择的。

答案 1 :(得分:0)

正如我对selenium scripts

的评论所述

可能是因为XPath中的一个微妙之处在于//a[1]将选择所有后代元素作为其父元素的第一个子元素,而不是整个文档中的第一个元素。使用//body/descendant::a[1]之类的内容或将其锚定到ID为id('myLinks')/descendant::a[1]的元素可能会更好。请注意,对于最后一个示例,您需要使用xpath=继续定位器。