报错内容
报错代码:
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()