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

简介: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead。依旧是使用单词意思分析报错原因

cdff581d333e4896a29de68022a7b697.jpg

报错内容



报错代码:


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()

ea7edf308be0490fa5c90031644f5fd7.png


报错分析



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()

bceeb62bf7aa456881a765ff57c30d5b.jpg


相关文章
|
Linux API Android开发
Rockchip系列之客制化GPIO接口Hardware部分(3)
Rockchip系列之客制化GPIO接口Hardware部分(3)
245 0
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
8507 4
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
654 0
|
Ubuntu
Ubuntu22.04,AOSP编译报错: libncurses.so.5: cannot open shared object file: No such file
本文描述了在Ubuntu 22.04系统上编译AOSP时遇到的`libncurses.so.5`缺失错误,并提供了通过安装相应库解决该问题的步骤。
2540 0
|
Android开发 内存技术
Android 通过tinyalsa调试解决录制和播放音频问题
Android 通过tinyalsa调试解决录制和播放音频问题
1112 1
|
编解码 Linux 对象存储
Linux系统中内核音频驱动实现
Linux系统中内核音频驱动实现
2214 2
|
数据采集 前端开发 JavaScript
vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
492 0
|
算法 物联网 Shell
Huawei LiteOS 概览
Huawei LiteOS 概览
805 0