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

如何通过XPath精准提取HTML中的49.28数值?

解决方案

要只提取49.28这个数值,你可以通过以下几种XPath表达式实现:

  • 直接选取第一个文本节点
    使用text()[1]精准定位<td>元素下的第一个文本节点,忽略<sup>子元素的内容:

    //table/tbody/tr[1]/td[@class='align-right nowrap'][1]/text()[1]
    

    这个表达式会直接返回<td>里的第一个文本片段,也就是包含49.28的部分。

  • 清理文本格式(可选)
    如果原文本前后有多余空格,可以用normalize-space()去除:

    normalize-space(//table/tbody/tr[1]/td[@class='align-right nowrap'][1]/text()[1])
    

    执行后会得到无前后空格的49.28。

为什么原表达式会返回拼接结果?

你之前的XPath直接选取了<td>元素,默认会返回该元素所有后代文本节点的拼接内容,包括<sup>里的+1.28,所以才会得到49.28+1.28。通过指定text()[1]就能只提取目标文本节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:48:17