Допустим, у меня есть следующий HTML-код:
<a href="/site/somesite/"> somesite</a>
У меня вопрос, как мне написать выражение XPath, которое должно использовать свойство text(), чтобы соответствовать ссылке somesite, и я не могу изменить источник?
text()
somesite
Я не уверен, хотите ли вы искать URL-адрес на основе текста ссылки или текста ссылки на основе URL-адреса.Это даст вам URL:
//a[normalize-space() = 'somesite']/@href
Это даст вам текст:
normalize-space(//a[@href = '/site/somesite/'])
Используйте normalize-space(), который отбрасывает начальные и конечные пробельные символы (и объединяет повторяющиеся пробелы в середине текста в один пробел), так что вы можете сравнить нормализованный text() и использовать для фильтрации в предикат.
normalize-space()
a[normalize-space(text())='somesite']