I don't know why following query doesn't work:
//a/@href[@class='specified_string']
I don't know why following query doesn't work:
//a/@href[@class='specified_string']
Try it the other way round:
//a[@class='specified_string']/@href
After all, class is an attribute of the <a> element, not an attribute of the href attribute.
You basically say that you are looking for an attribute named href, whose attribute (this is the error) class should be equal to specified_string.
But you need to find the attribute href of an element a, whose attribute class is specified_string.
(ndim's answer overlapped mine)
An attribute cannot have attributes. Only elements can have attributes.
The original XPath expression:
//a/@href[@class='specified_string']
selects any href attribute of any a element, such that the href attribute has an attribute class whose value is 'specified_string'.
What you want is:
//a[@class='specified_string']/@href
that is: the href attribute of any a element that has class atribute with value 'specified_string'.