HTML, есть ссылка, как показано ниже:XPath-выбор ссылку на текст
<a class="alk" href="https://www.xyz.com/view?id=20221">my_color ⁄ color</a>
Я могу выбрать его как:
//a[@class='alk']
, и я хочу быть более определенным и выбрать его в качестве (поскольку здесь может быть больше ссылок):
//a[@class='alk'][text()='my_color ⁄ color']
Второй селектор не возвращает мне ничего. Интересно, что селектор // a [@ class = 'alk']/text() действительно возвращает my_color/color. Я очень озадачен тем, что может отсутствовать в селекторе выше, когда вы пытаетесь выбрать точный текст().
К сожалению, у меня была опечатка выше. Починил это. Он не работает только с текстом(). – naspras
@naspras Не против опечатки. Это странно, я проверил его, прежде чем я разместил его на www.freeformatter.com/xpath-tester.html и там он работает. Есть ли какие-либо пробелы до/после текста ссылки? Если это так, это можно было бы исправить с помощью 'normalize-space (text())' вместо просто 'text()'. Если нет, тогда было бы хорошо знать, в какой настройке XPath не работает. –
Спасибо! Я попробовал его с фактическим URL-адресом в www.freeformatter.com/xpath-tester.html, и я получил ошибку синтаксического анализа в href. Правило href верное, но почему-то парсер xpath не может его решить. Я считаю, что есть что-то нестандартное, что вызывает его. Я закрою вопрос, так как я не могу поделиться фактическим URL. – naspras