返回顶部
首页 > 资讯 > 后端开发 > Python >新版selenium中 find_element_by_xpath 已失效的解决方法
  • 727
分享到

新版selenium中 find_element_by_xpath 已失效的解决方法

seleniumpythonchrome 2023-09-21 13:09:16 727人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

selenium的一些函数(例如.find_element_by_xpath等),在新版本的selenium包中已经失效。 所以,应当安装旧版本的selenium(3.141.0),程序才能正常运行。

selenium的一些函数(例如.find_element_by_xpath等),在新版本的selenium包中已经失效。
所以,应当安装旧版本的selenium(3.141.0),程序才能正常运行。
具体操作如下:

删除 urllib3 包: pip uninstall urllib3
2、 删除 selenium 包: pip uninstall selenium
期间如有询问,输入Y,回车

安装 urllib3:
pip install urllib3==1.25.8 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装 selenium:
pip install selenium==3.141.0 -i Https://pypi.tuna.tsinghua.edu.cn/simple

查看已安装的版本:
pip show urllib3
pip show selenium

基本原理是:
我们要使用 selenium(版本3.141.0) 和 urllib3(版本1.25.8),是相匹配的1对。
如果版本不是这个,则先删除当前版本,再安装我们想要的版本。
其中urllib3是selenium的依赖包

**

彻底的解决方法,应该是更改自己的源程序,改掉那些失效的用法。适应新版本,也简化了安装。

**

具体做法如下:
1、增加2个引入

from selenium.WEBdriver.common.by import Byfrom selenium.webdriver.chrome.service import Service

修改代码,在PyCharm中 Ctrl+R

      替换所有的  ".find_element_by_xpath("   为        ".find_element(By.XPATH,"      替换所有的  ".find_elements_by_xpath("   为                   ".find_elements(By.XPATH,"

也就是

browser.find_element_by_xpath('//div[@id="main"]')  
  改成
browser.find_element(By.XPATH,'//div[@id="main"]')

改chromedriver 路径

 browser=webdriver.Chrome('C:\drv\chromedriver.exe') 
 为:
browser=webdriver.Chrome(service= Service('C:\drv\chromedriver.exe'))

依次卸载 selenium、urllib3、requests
再反向,依次安装之

    20220926当前新版为  selenium V4.4.3、urllib3 V1.26.12、requests V2.28.1

来源地址:https://blog.csdn.net/weixin_46279624/article/details/127076156

--结束END--

本文标题: 新版selenium中 find_element_by_xpath 已失效的解决方法

本文链接: https://lsjlt.com/news/414050.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作