У меня есть таблица выглядит следующим образом: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», но я просто не могу показаться, чтобы получить его, чтобы найти на ин индивидуальная ссылка.
Ваш XPath почти правильно, но в HTML есть пробелы вокруг '' Managers' и Assistants'. Вы можете использовать '//tr[.//td='AN '] // a [. =' Managers ']' (обратите внимание на дополнительные пробелы) или, возможно, '//tr[.//td='AN'] // a [содержит (., 'Managers')] '. – matt