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

如何在Selenium中获取span标签的值?解决AttributeError报错求助

问题解决方法

错误根源

  1. driver.find_elements()返回的是WebElement对象的列表,列表本身没有get_attribute()方法,你需要操作列表中的单个元素。
  2. span标签的内容属于页面显示文本,value属性多用于input这类表单控件,获取span的内容应该用文本获取方式,而非value属性。

修正后的代码方案

方案1:直接获取单个目标元素(推荐,分页的最后一页标签通常仅存在一个)

# 使用find_element(单数形式)获取单个匹配元素
page_length = driver.find_element(By.CSS_SELECTOR, "section.PaginationRow-module__container___LxZJN span.PaginationRow-module__lastPage___k9Pq7")
# 获取span标签的显示文本
page_len_x = page_length.text
print(page_len_x)

方案2:处理元素列表(适配存在多个匹配元素的场景)

page_lengths = driver.find_elements(By.CSS_SELECTOR, "section.PaginationRow-module__container___LxZJN span.PaginationRow-module__lastPage___k9Pq7")
# 先检查列表是否有元素,再取第一个元素的文本
if page_lengths:
    page_len_x = page_lengths[0].text
    print(page_len_x)
else:
    print("未找到目标span元素")

补充说明

从截图的标签形态来看,目标span显示的是分页总页数,直接用.text就能获取到页面上显示的数值,无需调用get_attribute方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:57:21