2014-08-27 4 views
0

У меня есть таблица выглядит следующим образом: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», но я просто не могу показаться, чтобы получить его, чтобы найти на ин индивидуальная ссылка.

+0

Ваш XPath почти правильно, но в HTML есть пробелы вокруг '' Managers' и Assistants'. Вы можете использовать '//tr[.//td='AN '] // a [. =' Managers ']' (обратите внимание на дополнительные пробелы) или, возможно, '//tr[.//td='AN'] // a [содержит (., 'Managers')] '. – matt

ответ

1

попробуйте выполнить следующие XPath

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

XPath ищет tr с ребенком td, имеющего значение 'AN'. Затем смотрит на первый следующий-собрата td затем ищет потомок a, который имеет href значение, содержащее 'ассистентов

+0

Спасибо - вам нужно добавить дополнительный «/» в начале XPath, но в остальном он работает. Я довольно новичок в Xpath, не могли бы вы объяснить, как работает этот запрос? – AlmightyJoygasm

+0

Или даже если есть эквивалент CSS? – AlmightyJoygasm

+0

отредактировали мое сообщение –

Смежные вопросы