【hacker的错误集】DeprecationWarning: find_element_by_* commands are deprecated.

✅作者简介:大家好我是hacker707,大家可以叫我hacker
📃个人主页:hacker707的csdn博客
🔥系列专栏:hacker的错误集
💬推荐一款模拟面试、刷题神器👉点击跳转进入网站

在这里插入图片描述

报错内容

报错代码:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(1)
driver.find_element_by_id('kw').send_keys('python')
time.sleep(1)
driver.find_element_by_id('su').click()

在这里插入图片描述

报错分析

DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead。依旧是使用单词意思分析报错原因
DeprecationWarning 弃用警告
command命令
instead代替
分析可以得出:弃用警告:find_elment_by_命令已弃用。请使用find_element()代替
居然:那这应该怎么替换啊?
hacker:按照报错提示做就好了

解决方案

在selenium中的元素定位方式find_elment_by_*已被弃用,执行时会出现异常
这时我们需要使用新的方法代替(find_elment)
第一步:先导入By模块

from selenium.webdriver.common.by import By

第二步:替换为find_elment()方法

driver.find_element(By.ID, 'kw')

完整代码:

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

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(1)
driver.find_element(By.ID, 'kw').send_keys('python')
time.sleep(1)
driver.find_element(By.ID, 'su').click()

在这里插入图片描述

评论 82
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hacker707

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值