“WebDriver“ object has no attribute “find_element_by_css_selector“

在使用Selenium进行网页元素定位时遇到错误,问题源于高版本的不兼容。解决方案包括将Selenium版本回退到3.141.0或尝试4.1.0的新语法。对于Jupyter用户,降版后需清除缓存。此外,也可直接修改查找元素的语法以适应现有版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用selenium写爬虫, 想用selector查找元素定位的时候报了这样的错误,如图:

解决办法

方法一:查看我的selenium的版本是最新的。把降版本降到 3.141.0(你们可以试试其他3.几版本看头的)。然后就不会报错了。

最近发现较高的版本(4.1.0)两种写法都兼容。可以试下!

pip install selenium==4.1.0

因为我用的是Jupyter,重新下载selenium版本后,还要对Jupyter 重新清理缓存。

 

 方法二、不用降版本,改语法格式。

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

url = " "

driver = webdriver.Chrome()   
driver.get(url=url)

driver.find_element(    #模板你么改下就行了
    By.CSS_SELECTOR ,
    "解析路径"
)

总结:

一般自己的代码语法不会错的话,那么可能是你下载的模块版本不一样,导致语法错误不兼容(要么降版本,要么看看有无其他新的书写语法)。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值