0

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

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>

到目前为止,我有:

命令:单击目标://a[contains(text(),'Requested')]/following-sibling::a[contains(text(),'EMED.pdf')] 值:

这会引发一个错误:[error] Element //a[contains(text(),'Requested ')]/following-sibling::a[contains(text(),'EMED.pdf')] not found

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

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

*编辑连接:对于:href="/Practice/DownloadFile/8057329d-21df-4a44-baee-2068fc01b7dd" 我想要整个链接中的 guid:8057329d-21df-4a44-baee-2068fc01b7dd。

谢谢

4

2 回答 2

0

看起来您的订单已交换,请尝试替换following-siblingpreceding-sibling. 另请注意,您需要<a>节点,但以下兄弟功能正在检查 之后的下一个节点<a>,即<td>,因此您需要从<td>节点开始并检查其中每个<a>节点的内容。

或者反过来,您可以更改开始搜索的节点。如果您想要“EMED.pdf”,但前提是下一个节点是“请求的”,请尝试以下操作:

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

于 2013-02-28T15:26:19.843 回答
0

根据您提出的 html,我认为这可行,我使用 firefox xpath tester 对其进行了测试

//.[td[a[contains(text(),'EMED.pdf')]]]//a[contains(text(),'Requested')]

于 2013-02-28T15:49:28.517 回答