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

使用Python Selenium无法提取span文本内容的问题咨询

问题分析与解决方法

首先先纠正你代码里的低级错误:innetText是拼写失误,正确的属性名是innerText。

针对你提取span内目标文本的问题,给你几个可行的解决思路:

1. 修正拼写后处理文本

把拼写改对后,用innerText或textContent获取内容,再通过字符串方法去除多余的换行和空格:

# 用innerText提取后清理空白
target_text = my_obj.get_attribute('innerText').strip()
# 或者用textContent
target_text = my_obj.get_attribute('textContent').strip()

2. 直接通过XPath定位文本节点

既然已经能准确定位到span,不如直接在XPath里指定提取目标文本节点,省掉后续处理步骤:

from selenium.webdriver.common.by import By

# 用XPath直接选取span下最后一个文本节点(前面的是SVG后的空白)
target_text = driver.find_element(By.XPATH, './div/div/div[2]/div[3]/div/span/text()[last()]').get_attribute('nodeValue').strip()

3. 解析innerHTML提取纯文本

如果愿意引入第三方库,可以用BeautifulSoup解析innerHTML,剥离标签后拿纯文本:

from bs4 import BeautifulSoup

html_content = my_obj.get_attribute('innerHTML')
soup = BeautifulSoup(html_content, 'html.parser')
target_text = soup.get_text().strip()

另外你提到my_obj.text没拿到内容,大概率是文本前后有大量空白字符,试试my_obj.text.strip()说不定就能得到结果——Selenium的text属性会自动过滤不可见文本,但空白字符还是会保留,需要手动清理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:37:36