解决:AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘

news/2024/10/25 9:31:40/

解决:AttributeError: ‘WebDriver’ object has no attribute ‘find_element_by_xpath’

背景

在使用之前的代码通过selenium定位元素时,报错:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“xpath”,“selector”:“//*[text()=“编辑封面”]”}
(Session info: chrome=119.0.6045.124)

报错问题

File "D:\develop\python\Python3\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 861, in find_elementreturn self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]File "D:\develop\python\Python3\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 444, in executeself.error_handler.check_response(response)File "D:\develop\python\Python3\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 249, in check_responseraise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[text()="编辑封面"]"}(Session info: chrome=119.0.6045.124)

截图如下:
在这里插入图片描述

报错翻译

主要报错信息内容翻译如下所示::
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“xpath”,“selector”:“//[text()=“编辑封面”]“}
(Session info: chrome=119.0.6045.124)
翻译:
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素
:{“method”:“xpath”,“selector”:”//
[text()=“编辑封面”]”}
(Session info: chrome=119.0.6045.124)

报错原因

经过查阅资料,发现这个报错是由于Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变,当然如果没有更新过或是下载最新版本的Selenium是不受到影响的,还可以使用以前的写法。

小伙伴们按下面的解决方法即可解决!!!

解决方法

由于新旧版本的语法发生了改变,有两种解决方法。
方法一:使用或恢复(4.x版本)之前的版本
也就是使用或恢复Selenium版本到(4.x版本)之前的版本

方法二:修改代码的语法为新版本的语法
旧版本语法

inputTag = driver.find_element_by_xpath("value")  # 利用xpath查找

新版本语法

# inputTag = driver.find_element_by_xpath("value")  # 利用xpath查找
# 改为:
inputTag = driver.find_element(By.XPATH, "value")

扩展:

# inputTag = driver.find_element_by_id("value")  # 利用ID查找
# 改为:
inputTag = driver.find_element(By.ID, "value")# inputTags = driver.find_element_by_class_name("value")  # 利用类名查找
# 改为:
inputTag = driver.find_element(By.CLASS_NAME, "value")# inputTag = driver.find_element_by_name("value")  # 利用name属性查找
# 改为:
inputTag = driver.find_element(By.NAME, "value")# inputTag = driver.find_element_by_tag_name("value")  # 利用标签名查找
# 改为:
inputTag = driver.find_element(By.TAG_NAME, "value")# inputTag = driver.find_element_by_xpath("value")  # 利用xpath查找
# 改为:
inputTag = driver.find_element(By.XPATH, "value")# inputTag = driver.find_element_by_css_selector("value")  # 利用CSS选择器查找
# 改为:
inputTag = driver.find_element(By.CSS_SELECTOR, "value")


今天的分享就到此结束了

欢迎点赞评论关注三连

在这里插入图片描述


http://www.ppmy.cn/news/1207889.html

相关文章

MyBatis与SQL实用技巧 实用语法

数据库SQL技巧 数值转字符 <select id"getMaterialsList" resultType"java.util.Map">selectmaterial_id materialId,material_name materialName,unit, specification, CONVERT(unit_price,CHAR) unitPricefrom trace_agriculture_materialwhere …

浅谈Mysql中的窗口函数

MySQL中的窗口函数&#xff08;Window Functions&#xff09;是一种强大的数据处理工具&#xff0c;它允许您在查询结果中执行聚合、分析等操作&#xff0c;同时保留原始数据的行级别信息。窗口函数通常与OVER子句一起使用&#xff0c;以定义要在其上执行聚合操作的窗口&#x…

网站小程序分类目录网源码系统+会员登录注册功能 带完整搭建教程

大家好啊&#xff0c;源码小编今天来给大家分享一款网站小程序分类目录网源码系统会员登录注册功能 。 以下是核心代码图模块&#xff1a; 系统特色功能一览&#xff1a; 分类目录&#xff1a;系统按照不同的类别对网站进行分类&#xff0c;方便用户查找自己需要的网站。用户可…

【STM32】TIM2的PWM:脉冲宽度调制

PWM是一种周期固定&#xff0c;脉宽可调整的输出波形。 0.通用寄存器输出 1.捕获/比较通道1的主电路--中间部分 2.捕获/比较通道的输出部分--输出 3.通用定时器输出PWM原理 PWM波周期或者频率由ARR&#xff08;就是要进递增/递减的值&#xff09;决定&#xff0c;PWM波占空比由…

C++:this指针和构造与析构的运用

目录 一&#xff0c;this指针 二&#xff0c;构造函数 三&#xff0c;析构函数 四&#xff0c;析构与构造的调用 一&#xff0c;this指针 首先&#xff0c;我们先观察以下类&#xff1a; #include <iostream> using namespace std; class Date { public: void In…

httpRequest库代码示例

python # 首先导入所需的库 library(httpRequest) # 设置主机名和端口号 proxy_host <- proxy_port <- # 使用httpRequest库的get函数下载图片 response <- httpRequest(", proxyHost proxy_host, proxyPort proxy_port) # 确保请求成功 if (response$sta…

浅谈多回路电表在荷兰光伏系统配电项目中的应用

1.背景信息 Background&#xff1a; 随着全球化石能源&#xff08;石油&#xff0c;煤炭&#xff09;越来越接近枯竭&#xff0c;污染日趋严重&#xff0c;气候日益变暖等问题&#xff0c;全球多个国家和地区相继出台了法规政策&#xff0c;推动了光伏产业的发展。但是现有的光…

嵌入式养成计划-51----ARM--ARM汇编指令--内存读写指令--程序状态寄存器传输指令--软中断指令--混合编程

一百二十七、内存读写指令 通过内存读写指令可以实现向内存中写入指定数据或者读取指定内存地址的数据 127.1 单寄存器内存读写指令 将一个寄存器中的数值写入到内存&#xff0c;或者从内存中读取数据放在某一个指定寄存器中 127.1.1 指令码和功能 1. 向内存中写&#xff…