试图在Selenium IDE中单击具有特定值的行的超链接



我是新的硒,有两件事我需要做1. 要注意html上的文件名,但它是字符串的一部分,所以不知道如何在Selenium IDE中连接它2. 在一个表中,在搜索相关文件之后,我想单击该行的其他列之一中的链接。对于文件EMED.pdf,我想点击请求链接

HTML片段:

<td>
<a class="OSfileLink" target="selenium_blank7934" href="/Practice/DownloadFile/8057329d-21df-4a44-baee-2068fc01b7dd" rel="EMED.pdf" style="background-color: transparent;">EMED.pdf</a>
</td>
<td></td>
<td> 27/02/2013 16:19:16 </td>
<td>
<a class="eApproval " data-toggle="modal" data-fileid="8057329d-21df-4a44-baee-2068fc01b7dd" href="#" rel="Requested (28/02/2013)" style="background-color: transparent;">Requested (28/02/2013)</a>
</td>

到目前为止,我有:

命令:点击Target://a[contains(text(),'Requested ')]/following-sibling::a[contains(text(),'EMED.pdf')]取值范围:

会出现一个错误:[错误]元素//a[contains(text(),'Requested ')]/following-sibling::a[contains(text(),'EMED.pdf')]未找到

我可以单独"查找"单个xpath,但它们不能一起工作。如有任何帮助,不胜感激。

  • 编辑仍然不喜欢连接,但可以通过点击被识别来解决它。任何连接的帮助将是非常感谢

* 编辑连接:For: href="/Practice/DownloadFile/8057329d-21df-4a44-baee-2068fc01b7dd"我想从整个链接中获取指南:8057329d-21df-4a44-baee-2068fc01b7dd。

谢谢

看起来您的订单调换了,试着用preceding-sibling替换following-sibling。还要注意,您需要<a>节点,但下面的兄弟函数检查<a>之后的下一个节点,即<td>,因此您需要从<td>节点开始,并检查其中每个<a>节点的内容。

或者反过来,您可以更改从哪个节点开始搜索。如果您想要"EMED.pdf",但仅当下一个节点是"已请求"时,请尝试这样做:

//td[contains(a/text(),'EMED.pdf')]/following-sibling::td[contains(a/text(),'Requested')]/a

基于你提供的html,我认为这是有效的,我用firefox xpath tester测试了它

//[td。[[包含(文本()、"EMED.pdf")]]]//(包含(文本()、"请求")]

最新更新