You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写XPath查询匹配子a标签href与父级li下a标签href相同的li元素

正确的XPath查询语句

//li[./a/@href = ancestor::li[1]/a/@href]

原语句错误原因

你之前写的//li[a[@href=ancestor::li/a/@href]]会全选元素,问题出在两方面:

  • 没给ancestor::li加层级限制,它会匹配所有上层li,不是只找最近的父级li
  • 顶层li里的a标签的祖先li刚好就是自身所属的li,自己和自己比href当然相等,所以顶层li也会被误选中

补充说明

上述修正后的语句会精准匹配你标注的4个目标li元素:包含One a、One b、Five a、Five b的li。如果实际场景中单个li下存在多个a标签,可进一步限定取第一个a标签的href做比较,调整为:

//li[./a[1]/@href = ancestor::li[1]/a[1]/@href]

内容的提问来源于stack exchange,提问作者Heston Hoffman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 06:06:07