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

XPath无法提取指定<br>后文本的技术问题求助

XPath提取文本问题解决方案

问题原因

你的XPath失效是因为<br>标签不是<span>的子元素,而是和<strong>同级的兄弟节点,所以用/br/br这种子元素定位的方式完全错误。

正确的XPath写法

这里提供几种可行的写法:

  1. 精准匹配兄弟节点
    先找到包含“Prices and Rentals”的<span>所在的<strong>,再选取它后面的第二个<br>的下一个文本节点:
(//strong[span[contains(text(), "Prices and Rentals")]]/following-sibling::br[2]/following-sibling::text())[1]
  1. 基于前置节点的文本定位
    直接筛选出前面有目标<span>的第一个文本节点:
(//text()[preceding::span[contains(text(), "Prices and Rentals")]][1])
  1. 更严谨的节点过滤
    定位到目标<strong>后,明确跳过两个<br>节点,再取后续第一个文本:
(//strong[span[contains(text(), "Prices and Rentals")]]/following-sibling::node()[self::br][2]/following-sibling::text()[1])

说明

这些写法的核心是用following-sibling轴来定位当前节点之后的同级元素,纠正了你之前把<br>当子元素的错误逻辑,测试后能准确提取到“ Prices of …”这段文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:24:26