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

如何使用XPath定位包含特殊字符<的<a>网页元素?

解决XPath定位包含空格和<的<a>标签问题

你的<a>标签实际文本内容是<(前后带有空格),之前的XPath表达式未正确处理文本的完整内容或匹配逻辑,以下是可行的定位方式:

可行的XPath表达式

  • 精准匹配(忽略首尾空格):

    //a[normalize-space(.)='<']
    

    这里的.代表当前节点的完整字符串值,normalize-space()会自动去除首尾空格并合并中间多余空格,完美匹配文本为<的<a>标签。

  • 模糊匹配(只要包含<即可):

    //a[contains(., '<')]
    

    用.获取节点的所有文本内容拼接结果,比text()更可靠,避免因文本节点列表导致的匹配失败。

之前表达式失败的原因

  • //a[text()='<']:text()返回原始文本<,和纯<完全不相等,无法匹配。
  • //a[normalize-space(text())='<']:部分XPath引擎中text()会返回文本节点列表,normalize-space()处理列表的逻辑不符合预期,换成.即可解决。
  • //a[contains(text(), '<')]:同样因text()可能返回节点列表,导致contains()无法正确识别包含关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:52:34