Запрос XPath для выбора всех href атрибутов <a> тег, какой атрибут 'класса' равняется указанной строке

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

//a/@href[@class='specified_string']
21
задан l245c4l 22 April 2010 в 14:35
поделиться

3 ответа

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

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

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

48
ответ дан 29 November 2019 в 06:49
поделиться

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

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

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

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

Вы хотите :

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

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

6
ответ дан 29 November 2019 в 06:49
поделиться

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

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

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

1
ответ дан 29 November 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: