✅作者简介:大家好我是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()