用于在表中查找链接的XPath

时间:2014-08-27 10:12:08

标签: xpath

我有一张表格如下:

<tr class="ng-scope" ng-repeat="client in clients">
<td class="text-left ng-binding">Apu Nahasapeemapetilon</td>
<td class="text-left ng-binding">AN</td>
<td class="text-left">
<span class="ng-scope" ng-repeat="group in client.SecurityGroups">
<a class="label label-info ng-binding" href="#/SecurityGroup/MemberClients/a1cbf118-2c40-4ae7-a9f8-136bec945849/Assistants"> Assistants </a>
<span class="ng-scope" ng-repeat="group in client.SecurityGroups">
<a class="label label-info ng-binding" href="#/SecurityGroup/MemberClients/e4bd1580-3997-4f3d-a975-189e1fdccb4c/Managers"> Managers </a>

我正在尝试找到第三个单元格中的链接。这个单元格中可以有多个链接。理想情况下,我想通过定位在单元格1或2上来识别行。

因此,给出上述表数据的想法是:查找具有客户端代码AN的行(在单元格2中),然后在该行上找到“助手”链接(在单元格3中)。

我的项目中有一个类似的表格,以下XPpath将执行即时目标:

//tr[.//td='AN'] // a[.='Managers']

但它似乎无法在上面的表格中工作......

如果我这样做:

//tr[.//td='AN'] // a

它将突出显示单元格中的所有链接(即链接结束助理和管理器),对于包含“AN”的行,但我似乎无法将其放在单个链接上。

1 个答案:

答案 0 :(得分:1)

尝试以下xpath

//tr/td[.='AN']/following-sibling::td[1]//a[contains(@href, 'Assistants')]

xpath会查找tr,其子td的值为'AN'。然后查看第一个后续兄弟td,然后查找后代a,其href值包含“助手”