XPath-запрос для выбора всех атрибутов href тега <a>, для которого атрибут 'class' равен указанной строке - PullRequest
20 голосов
/ 22 апреля 2010

Я не знаю, почему не работает следующий запрос:

//a/@href[@class='specified_string']

Ответы [ 4 ]

44 голосов
/ 22 апреля 2010

Попробуйте наоборот:

//a[@class='specified_string']/@href

В конце концов, class является атрибутом элемента <a>, а не атрибутом href.

5 голосов
/ 23 апреля 2010

Атрибут не может иметь атрибутов. Только элементы могут иметь атрибуты.

Исходное выражение XPath:

//a/@href[@class='specified_string'] 

выбирает любой атрибут href любого элемента a, , так что атрибут href имеет атрибут class, значение которого 'specified_string'.

То, что вы хотите, это :

//a[@class='specified_string']/@href 

, то есть: атрибут href любого элемента a, который имеет атрибут class со значением 'specified_string'.

1 голос
/ 22 апреля 2010

Вы в основном говорите, что ищете атрибут с именем href, атрибут которого (это ошибка) class должен быть равен specified_string.

Но вам нужно найти атрибутhref элемента a, атрибут которого class равен specified_string.

(ответ ndim перекрывал мой)

0 голосов
/ 14 июля 2016

В теге привязки отсутствует атрибут класса. У меня есть только href.Идентифицируется с помощью //*[@href='value'], но //*a[@href='value'] не работает

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