AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_id‘

AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'

在Selenium 4及以上版本中,find_element_by_* 和 find_elements_by_* 这类方法已经被弃用并移除了,所以使用会报错:

AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'

从Selenium 4开始,推荐使用新的方法find_element()和find_elements()结合By类来定位元素。

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

# 1. 按 id 定位
element = driver.find_element(By.ID, "element-id")

# 2. 按 name 定位
element = driver.find_element(By.NAME, "element-name")

# 3. 按 class 定位
element = driver.find_element(By.CLASS_NAME, "element-class")

# 4. 按 tag 标签定位
element = driver.find_element(By.TAG_NAME, "input")

# 5. 按链接文本定位
element = driver.find_element(By.LINK_TEXT, "Click Here")

# 6. 按部分链接文本定位
element = driver.find_element(By.PARTIAL_LINK_TEXT, "Click")

# 7. 按 xpath 定位
element = driver.find_element(By.XPATH, "//div[@id='element-id']")

# 8. 按 css 选择器定位
element = driver.find_element(By.CSS_SELECTOR, "#element-id .element-class")
相关推荐
justjinji1 分钟前
JavaScript中利用宏任务拆分阻塞任务的实操案例
jvm·数据库·python
weixin_408717773 分钟前
c++如何实现跨平台的文件读写进度监听器回调机制【实战】
jvm·数据库·python
一铭111995 分钟前
gpt-claude-gemini 超级大模型安装使用教程
java·python·gpt·ai编程·claude·gemini
2401_8371638911 分钟前
HTML怎么标注字数限制提示_HTML实时字数统计占位【详解】
jvm·数据库·python
阿标的博客15 分钟前
Python学习(二):PyCharm的下载与安装
python
m0_7411733318 分钟前
Golang Gin如何做Swagger文档_Golang Gin Swagger教程【速学】
jvm·数据库·python
AI_大白19 分钟前
让 Cursor 帮你搞定美股 4 个时段:AI Agent 的时段感知实战
python·架构
Uncertainty!!19 分钟前
claude code在pycharm中的安装使用
ide·python·pycharm·claude code
覆东流22 分钟前
第7天:Python小项目
开发语言·后端·python
a11177625 分钟前
Boxer 论文复刻(需要下载的文件都已放到压缩包)
python·开源·cv