XPath для ссылки на html-странице с использованием метки ссылки - PullRequest
2 голосов
/ 21 июня 2010

У меня есть ссылка, которую нельзя идентифицировать на моей html-странице, показанной ниже:

<a href="/somthing/confirm_delete_somthing?&id=12">Delete this monitor</a>

Что такое XPath, чтобы идентифицировать ссылку по метке Delete this monitor?

как //a[@label="Delete this monitor"]?

Ответы [ 2 ]

2 голосов
/ 21 июня 2010

Используйте

//a[. = "Delete this monitor"]

или

//a[normalize-space() ="Delete this monitor"]

Это выберет узел, даже если он похож на следующий :

<a href="/somthing/confirm_delete_somthing?&id=12">Delete <strong>this</strong> monitor</a>

Напротив, выражение из принятого в настоящее время ответа не выбирает такой узел .

2 голосов
/ 21 июня 2010

Замените @label на text(), который представляет текстовое значение узла.

//a[text()="Delete this monitor"]

Для случаев, когда текст находится на другой строке, например

<a>
   Delete this monitor
</a>

Вы можете использовать функцию normalize-space(), которая удаляет начальные и конечные пробелы:

//a[normalize-space(text())="Delete this monitor"]

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