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

如何在Python Selenium中获取所有<thspan>内容并拼接成字符串?

问题解决:Selenium获取多个元素文本并拼接

原代码问题分析

你的代码里context.join(thspan.text)是错误用法:str.join()方法需要传入可迭代对象(比如列表),且不会修改原字符串,而是返回拼接后的新字符串。你既没有接收返回值,也没正确传入参数,导致context始终为空。

正确实现方式

方式1:循环累加(直观易懂)

from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.get("目标页面的URL")  # 必须先打开目标页面

thspans = browser.find_elements(By.CLASS_NAME, "sentence")
context = ""
for thspan in thspans:
    context += thspan.text  # 直接累加每个元素的文本内容

print(context)  # 输出结果:Hello

方式2:利用join()一次性拼接(更高效)

先收集所有元素的文本到列表,再用空字符串拼接成完整内容:

from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.get("目标页面的URL")

thspans = browser.find_elements(By.CLASS_NAME, "sentence")
# 用列表推导式收集文本,再通过join拼接
context = "".join([thspan.text for thspan in thspans])

print(context)  # 输出结果:Hello

方式3:生成器表达式(节省内存,适合大量元素)

如果页面中这类元素数量较多,用生成器表达式避免创建额外列表:

context = "".join(thspan.text for thspan in thspans)

注意事项

  • 必须先通过browser.get("URL")打开目标页面,否则无法定位到元素
  • 若存在空文本的元素,可添加判断过滤:context += thspan.text if thspan.text else ""

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:20:28