我试图用属性值'#aaa'来定位下面的代码片段中的'#aaa'元素
<svg>
<use xlink:href='#aaa'></use>
</svg>我能够使用css选择器use[* |href='#aaa']定位。但我在xpath中需要它。我在xpath下面尝试过,但它不起作用。
(//*[name()='use'])[ * ='#aaa' or @href='#aaa']注意:我需要使用值'#aaa'来区分其他元素。
有谁能帮忙构造这个xpath吗?
发布于 2017-09-18 08:22:54
谓词[ * ='#aaa' or @href='#aaa']返回false,因为没有href那样的属性(但是是xlink:href),并且use没有文本内容'#aaa'的子节点。
请注意,任意属性的通配符是@*,而*只适用于任何节点(属性除外)。尝试在XPath下面
"//*[name()='use' and @*='#aaa']"发布于 2017-11-16 06:47:39
如果有人需要..。
"//*[name()='use'][contains(@*='#aaa')]"发布于 2020-01-31 07:43:36
由于没有任何建议对我有效,所以我想出了以下建议(在chrome中进行了测试):
//*[name()='use' and @*[contains(.,'#aaa)]]评论:
https://stackoverflow.com/questions/46273093
复制相似问题