我不知道为什么以下查询不起作用:
//a/@href[@class='specified_string']
答案 0 :(得分:44)
反过来试试:
//a[@class='specified_string']/@href
毕竟,class
是<a>
元素的属性,而不是href
属性的属性。
答案 1 :(得分:5)
属性不能包含属性。只有元素才能拥有属性。
原始XPath表达式:
//a/@href[@class='specified_string']
选择任何href
元素的任何a
属性,以使href
属性具有属性class
,其值为{{1 }}。
你想要的是:
'specified_string'
即://a[@class='specified_string']/@href
元素的href
属性,其a
属性值为class
。
答案 2 :(得分:1)
你基本上说你正在寻找名为href
的属性,其属性(这是错误)class
应该等于specified_string
。
但您需要找到元素href
的属性a
,其属性class
为specified_string
。
(ndim的答案与我的重叠)
答案 3 :(得分:0)
锚标记中没有class属性我只有href。它是使用//*[@href='value']
标识的,但//*a[@href='value']
无效