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

如何使用XPath获取包含span标签的段落完整文本

嘿,我来帮你解决这个XPath提取文本的问题!先把你的HTML结构贴出来方便参考:

<ul>
  <li class="xyz">
    <div class="divClass">
      <span class="ContentItem---status---dL0iS">
        <span>Success</span>
      </span>
      <p class="ContentItem---title---37IqA">
        <span>Test Check</span> : Please display the text
      </p>
    </div>
  </li>
  <li class="xyz">
    <div class="divClass">
      <span class="ContentItem---status---dL0iS">
        <span>Not COMPLETED</span>
      </span>
      <p class="ContentItem---title---37IqA">
        <!-- 你的代码片段在这里截断了,但方法通用 -->
      </p>
    </div>
  </li>
</ul>

要获取包含span标签的

元素的完整文本内容,可以用这几种XPath写法:

1. 先定位符合条件的p元素

如果你需要先找到所有包含span子元素的p标签,可以用:

//p[span]

要是你想精准匹配class(避免匹配到页面上其他无关的p元素),可以加上class筛选条件:

//p[contains(@class, 'ContentItem---title---37IqA') and span]

2. 直接获取完整文本内容

如果想直接拿到这些p元素的全部文本(包括子span里的文本和p自身的文本,比如示例里的Test Check : Please display the text),可以用XPath的string()函数:

string(//p[span])

如果页面上有多个符合条件的p元素,想要一次性获取所有文本,在浏览器控制台或者支持XPath的工具里,可以用类似这样的方式(以Chrome为例):

$x("//p[span]").map(el => el.textContent)

这样会返回一个包含所有匹配p元素完整文本的数组。

简单解释下:p[span]是筛选出包含span子元素的p标签,string()函数会把该元素下所有层级的文本节点拼接起来,得到你需要的完整内容;而textContent(不同工具里可能叫text()或者text_content())也能提取元素的全部文本内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:11:17