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

如何在XPath选择器中处理sup标签以提取目标文本

解决XPath提取文本时标签的干扰问题

针对你遇到的标签阻碍文本提取的问题,给你几个实用的解决办法:

  • 直接提取整个节点的纯文本
    用XPath的string()函数可以直接获取指定节点下的所有文本内容,不管嵌套多少子标签。表达式写:

    string(//p[@class='result'])
    

    拿到的内容是Final result 0:2 (4:6, 65:7),之后你可以用字符串替换把中间的5删掉,或者直接截取括号里的部分再处理。

  • 精准提取目标片段的文本节点并拼接
    如果你只需要括号里的内容,可以定位到括号开头的文本和后面的文本节点,表达式如下:

    //p[@class='result']/text()[last()] | //p[@class='result']/sup/following-sibling::text()
    

    执行后会得到两个文本片段:(4:6, 6和:7),把它们拼起来就是你要的(4:6, 6:7)。

  • 分步提取拼接
    先单独拿括号前半部分:

    //p[@class='result']/text()[last()]
    

    再拿后面的部分:

    //p[@class='result']/sup/following-sibling::text()
    

    最后把两个结果拼接,直接得到目标文本。

原HTML代码:
<p class="result"><span class="bold">Final result </span><strong>0:2</strong> (4:6, 6<sup>5</sup>:7)</p>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:20:49