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

如何使用Selenium WebDriver提取span与br标签间的单个文本节点?

提取span与br标签之间的"Orange"文本方法

嘿,要从你提供的这段HTML里提取span和br之间的"Orange"文本其实挺简单的,我给你准备了几种实用的实现方案,不管是后端抓取还是前端处理都能用上:

Python 实现(推荐用BeautifulSoup库)

BeautifulSoup是处理HTML的专业库,能可靠解析结构,避免正则的局限性。

  1. 先安装库(如果还没装的话):
pip install beautifulsoup4
  1. 代码示例:
from bs4 import BeautifulSoup

# 你的HTML内容
html_content = '''<td role="grid cell"> <span class="ui-column-title">Fruits</span> <span id="all fruits"> "Orange" <br> 23 </span> </td>'''

# 解析HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 定位到id为"all fruits"的span标签
target_span = soup.find('span', id='all fruits')
# 取span下第一个子节点(就是br前的文本),清理多余空格和引号
orange_text = target_span.contents[0].strip().strip('"')

print(orange_text)  # 输出结果:Orange

JavaScript 实现(前端浏览器环境)

如果是在网页前端直接处理,可以用原生DOM操作:

// 找到目标span元素
const targetSpan = document.getElementById('all fruits');
// 获取br之前的文本节点,清理空格和引号
const orangeText = targetSpan.childNodes[0].textContent.trim().replace(/^"|"$/g, '');

console.log(orangeText); // 输出结果:Orange

补充:正则表达式实现(不推荐)

虽然可以用正则快速匹配,但HTML结构稍有变动(比如空格、换行)就会失效,仅作为应急方案:

import re

html_content = '''<td role="grid cell"> <span class="ui-column-title">Fruits</span> <span id="all fruits"> "Orange" <br> 23 </span> </td>'''

# 匹配引号内的内容
match_result = re.search(r'<span id="all fruits"> "(.*?)" <br>', html_content)
if match_result:
    orange_text = match_result.group(1)
    print(orange_text)  # 输出结果:Orange

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:01:25