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

Python使用Selenium的find_element_by_class_name无法抓取数据报错

问题描述

我是网页抓取新手,无开发经验也不了解HTML相关知识,尝试登录网站后从个人账户页面提取信息时,调用find_element_by_class_name()方法出现报错。

已尝试的代码

from selenium import webdriver

driver = webdriver.Chrome('path/chromedriver.exe')
driver.get("https://www.URL.COM") 

# 手动登录账户并跳转至目标页面

driver.find_element_by_class_name('css-901oao css-cens5h r-1khnkhu r-13awgt0 r-1oke55r r-1enofrn r-1wzrnnt')

报错信息

---------------------------------------------------------------------------
NoSuchElementException                    Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_14516/1270707966.py in <module>
----> 1 driver.find_element_by_class_name('css-901oao css-cens5h r-1khnkhu r-13awgt0 r-1oke55r r-1enofrn r-1wzrnnt')

C:\ProgramData\Miniconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_class_name(self, name)
    562             element = driver.find_element_by_class_name('foo')
    563         """
---> 564         return self.find_element(by=By.CLASS_NAME, value=name)
    565 
    566     def find_elements_by_class_name(self, name):

其他失败尝试

driver.find_element_by_css_selector('css-901oao css-cens5h r-1khnkhu r-13awgt0 r-1oke55r r-1enofrn r-1wzrnnt')

目标元素截图

元素截图


报错原因
  • find_element_by_class_name() 方法仅支持传入单个class名称,你传入的是多个空格分隔的class组合,不符合方法要求。
  • 你写的css选择器语法错误:css选择器中class属性需要加.作为前缀,多个并列class需要连写,空格在css选择器里代表查找后代元素,不是并列class的意思。
解决方法

方案1:使用css选择器(最稳定)

# 注意每个class前加.,多个class之间无空格
driver.find_element_by_css_selector('.css-901oao.css-cens5h.r-1khnkhu.r-13awgt0.r-1oke55r.r-1enofrn.r-1wzrnnt')

方案2:仅传入单个class名(适合该class全局唯一的场景)

# 任选其中一个class传入即可,不需要传全部
driver.find_element_by_class_name('css-901oao')
优化建议

手动登录跳转页面后,建议先添加全局等待逻辑,避免页面未完全加载就执行元素查找也会触发NoSuchElementException报错,完整示例如下:

from selenium import webdriver

driver = webdriver.Chrome('path/chromedriver.exe')
driver.implicitly_wait(10) # 全局设置最多等待10秒查找元素,找不到才抛出异常
driver.get("https://www.URL.COM") 

# 手动登录账户并跳转至目标页面

# 再执行元素查找代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:54:05