Selenium XPath如何选择href属性为#icon-map的svg下use标签
XPath表达式修改方案
你可以直接在原有匹配use标签的谓词中新增属性值过滤条件,即可缩小匹配范围:
通用兼容写法(适配带命名空间的href属性)
该写法不受xlink:href这类带命名空间前缀的href属性影响,适配性更强:
//*[local-name()='svg']/*[local-name()='use' and @*[local-name()='href']='#icon-map']
简洁写法(仅适配无命名空间的href属性)
如果你的项目中use标签的href属性没有命名空间前缀,可以直接用更短的表达式:
//*[local-name()='svg']/*[local-name()='use' and @href='#icon-map']
补充:如果需要定位包含该use标签的外层svg元素
只需在上述表达式结尾追加父节点筛选即可:
//*[local-name()='svg']/*[local-name()='use' and @*[local-name()='href']='#icon-map']/parent::*[local-name()='svg']
内容的提问来源于stack exchange,提问作者Orl13
相关产品推荐
相关产品推荐

