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

求助:使用XPath提取HTML片段中的指定文本节点内容

求助:使用XPath提取HTML片段中的指定文本节点内容

嗨,我来帮你搞定这个XPath提取的问题~

你已经找到获取<strong>标签里"Time: "的思路啦,对应的XPath可以更明确地写成:

//div[@class="inner-box"]/p[@class="inner-info-blk"]/strong/text()

这样就能直接拿到"Time: "这个文本内容。

接下来是获取"13:45"这个时间值,它是<p>标签里紧跟在<strong>后面的同级文本节点,给你两种实用的方法:

  • 方法一:定位<strong>的后续文本节点
    直接用following-sibling::text()来选取<strong>之后的文本,XPath如下:
//div[@class="inner-box"]/p[@class="inner-info-blk"]/strong/following-sibling::text()

不过这个文本可能包含多余的空格和引号,你可以用normalize-space()来清理,变成:

normalize-space(//div[@class="inner-box"]/p[@class="inner-info-blk"]/strong/following-sibling::text())

这样就能得到干净的"13:45"。

  • 方法二:直接选取<p>下的第二个文本节点
    <p>标签里有两个文本节点(一个是<strong>里的,另一个就是目标时间),所以可以直接指定选取第二个文本节点:
//div[@class="inner-box"]/p[@class="inner-info-blk"]/text()[2]

同样搭配normalize-space()清理格式:

normalize-space(//div[@class="inner-box"]/p[@class="inner-info-blk"]/text()[2])

如果想一次性获取<p>里的所有文本内容,也可以用//div[@class="inner-box"]/p[@class="inner-info-blk"]/text(),它会返回两个文本节点,分别对应"Time: "和带格式的"13:45"。

备注:内容来源于stack exchange,提问作者Anaras

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 09:44:36