在 selenium IDE 中,我需要单击第 n 个带有文本“XXX”的链接。如何才能做到这一点?
<tr>
<td>clickAndWait</td>
<td>//a[text()='XXX'][${link}]</td>
<td></td>
</tr>
上面的代码说 [error] Element //a[text()='XXX'][9] not found 即使它是有效的,
在 selenium IDE 中,我需要单击第 n 个带有文本“XXX”的链接。如何才能做到这一点?
<tr>
<td>clickAndWait</td>
<td>//a[text()='XXX'][${link}]</td>
<td></td>
</tr>
上面的代码说 [error] Element //a[text()='XXX'][9] not found 即使它是有效的,
对于非结构化链接,您可以尝试类似//body/descendant::a[text()='a link'][9]
. 后代轴将展平所有后代 'a' 标签,因此 position() 将采用它们在文档中出现的顺序,而不是基于每个 a 标签的先前兄弟姐妹。
如果链接是半结构化的,如下所示,那么类似
//div[@id='fu']//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']
可以找到给定结构的第 9 个匹配链接。
<p>a segment, outside the containing div, with <a href="www.google.com">a link</a>.</p>
<div id="fu">
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a different link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<div></div></div>