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

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

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

Ответы

Ответ 1

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

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

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

Ответ 2

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

Оригинальное выражение XPath:

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

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

Вы хотите:

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

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

Ответ 3

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

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

(ndim отвечает на перекрытие)

Ответ 4

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