пытаясь получить xpath / css для следования HTML - PullRequest
0 голосов
/ 21 июня 2011

Я пытаюсь создать динамический локатор xpath или css для поиска, редактирования и удаления изображений, которые являются первым столбцом таблицы матрицы, которая содержит информацию об учетной записи. Каждая учетная запись отличается по идентификатору электронной почты, например, johng@teat.com в следующем HTML-коде.

То, что я ищу, это как написать локатор xpath / css, который позволяет нам нажимать на иконку / ссылку редактирования и удалять, основываясь на известном идентификаторе электронной почты учетной записи.

<td nowrap="nowrap"><a href="#" onclick="$('table.jsonTable').matrix('remove',528); return false;" title="remove"><img src="sourcelocation/delete.png" alt="remove" style="border: 0px;"></a>&nbsp;<a href="#" onclick="return heClick(528);"><img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;"></a></td><td>John</td><td>Ghoper</td><td>johng@test.com</td><td></td><td style="white-space: normal">Reports Viewer</td><td style="white-space: normal">test.com</td><td>never</td>
<td nowrap="nowrap"><a href="#" onclick="$('table.jsonTable').matrix('remove',302); return false;" title="remove"><img src="sourcelocation/delete.png" alt="remove" style="border: 0px;"></a>&nbsp;<a href="#" onclick="return heClick(302);"><img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;"></a></td><td>Chris</td><td>Phela</td><td>kphela@test1.com</td><td></td><td style="white-space: normal">Reports Viewer</td><td style="white-space: normal">test1.com</td><td>never</td>
<td nowrap="nowrap"><a href="#" onclick="$('table.jsonTable').matrix('remove',528); return false;" title="remove"><img src="sourcelocation/delete.png" alt="remove" style="border: 0px;"></a>&nbsp;<a href="#" onclick="return heClick(890);"><img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;"></a></td><td>John</td><td>Ghoper</td><td>Pattyg@test2.com</td><td></td><td style="white-space: normal">Reports Viewer</td><td style="white-space: normal">test2.com</td><td>never</td>

1 Ответ

1 голос
/ 21 июня 2011

Я немного изменил XML, чтобы он был правильно сформирован.Вот пример, на котором основан мой ответ.

<root>
  <td nowrap="nowrap">
<a href="#" onclick="$('table.jsonTable').matrix('remove',528); return false;"
    title="remove">
    <img src="sourcelocation/delete.png" alt="remove" style="border: 0px;" />
</a>
<a href="#" onclick="return heClick(528);">
    <img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;" />
</a>
</td>
<td>John</td>
<td>Ghoper</td>
<td>johng@test.com</td>
<td></td>
<td style="white-space: normal">Reports Viewer</td>
<td style="white-space: normal">test.com</td>
<td>never</td>
<td nowrap="nowrap">
<a href="#" onclick="$('table.jsonTable').matrix('remove',302); return false;"
    title="remove">
    <img src="sourcelocation/delete.png" alt="remove" style="border: 0px;" />
</a>
<a href="#" onclick="return heClick(302);">
    <img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;" />
</a>
</td>
<td>Chris</td>
<td>Phela</td>
<td>kphela@test1.com</td>
<td></td>
<td style="white-space: normal">Reports Viewer</td>
<td style="white-space: normal">test1.com</td>
<td>never</td>
<td nowrap="nowrap">
<a href="#" onclick="$('table.jsonTable').matrix('remove',528); return false;"
    title="remove">
    <img src="sourcelocation/delete.png" alt="remove" style="border: 0px;" />
</a>
<a href="#" onclick="return heClick(890);">
    <img src="sourcelocation/apedit.png" alt="view/edit" style="border: 0px;" />
</a>
</td>
<td>John</td>
<td>Ghoper</td>
<td>Pattyg@test2.com</td>
<td></td>

Теперь, чтобы выбрать ссылку для удаления на основе известного идентификатора электронной почты, вы можете написать //td[text()='johng@test.com']/preceding-sibling::td/a[@title='remove']

Комувыберите значок редактирования на основе известного идентификатора электронной почты, который вы можете написать //td[text()='johng@test.com']/preceding-sibling::td/a/img[contains(@alt,'edit')]

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...