解决selenium 常见版本不兼容问题

news2025/1/18 7:25:48

目录

1、解决urllib3库不兼容的问题

2、解决chromedriver与浏览器版本不兼容的问题


【测试环境】

  • selenium:3.141.0
  • Python:3.10

1、解决urllib3库不兼容的问题

背景:在尝试启动selenium时代码出现ValueError错误,代码如下:

from selenium import webdriver

driver_path = 'E:\PycharmProjects\webUiTest\env\Scripts\chromedriver'
driver = webdriver.Chrome(executable_path=driver_path)
driver.get("https://www.baidu.com")

错误如下:

Traceback (most recent call last): File "E:\PycharmProjects\webUiTest\demo.py", line 10, in <module> driver = webdriver.Chrome(executable_path=driver_path) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__ RemoteWebDriver.__init__( File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__ self.start_session(capabilities, browser_profile) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 319, in execute response = self.command_executor.execute(driver_command, params) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 374, in execute return self._request(command_info[0], url, body=data) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 397, in _request resp = self._conn.request(method, url, body=body, headers=headers) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\_request_methods.py", line 144, in request return self.request_encode_body( File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\_request_methods.py", line 279, in request_encode_body return self.urlopen(method, url, **extra_kw) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\poolmanager.py", line 432, in urlopen conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\poolmanager.py", line 303, in connection_from_host return self.connection_from_context(request_context) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\poolmanager.py", line 328, in connection_from_context return self.connection_from_pool_key(pool_key, request_context=request_context) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\poolmanager.py", line 351, in connection_from_pool_key pool = self._new_pool(scheme, host, port, request_context=request_context) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\poolmanager.py", line 265, in _new_pool return pool_cls(host, port, **request_context) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\connectionpool.py", line 195, in __init__ timeout = Timeout.from_float(timeout) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\util\timeout.py", line 186, in from_float return Timeout(read=timeout, connect=timeout) File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\util\timeout.py", line 115, in __init__ self._connect = self._validate_timeout(connect, "connect") File "E:\PycharmProjects\webUiTest\env\lib\site-packages\urllib3\util\timeout.py", line 152, in _validate_timeout raise ValueError( ValueError: Timeout value connect was <object object at 0x0000000A6B6C8720>, but it must be an int, float or None.

 根据上面的错误内容来看错误都是有关urllib3库的错误,尤其是最后这里这个错误:

ValueError( ValueError: Timeout value connect was <object object at 0x0000000A6B6C8720>, but it must be an int, float or None.

显然就是版本不兼容导致的,查看urllib3的版本如下:

这个urllib3版本是最新的版本,那我们把版本降低到1.X的版本,因为selenium3.141.0并不是现在最新版本所以会和最新的urllib3库冲突,这里安装urllib3==1.26.8版本的,安装如下:

# 先卸载最新的版本

pip uninstall urllib3

# 安装指定版本

pip install urllib3==1.26.8

重新执行就可以正常启动了

2、解决chromedriver与浏览器版本不兼容的问题

1、查看Chrome浏览器的版本

  • 打开Chrome浏览器。
  • 在浏览器地址栏输入chrome://settings/help并回车。
  • 浏览器将显示当前安装的Chrome版本,例如“Google Chrome 版本  127.0.6533.100(正式版本)”。

2、查看ChromeDriver的版本

  • 打开命令行工具(在Windows上是CMD或PowerShell,在Mac或Linux上是Terminal)。
  • 输入chromedriver(如果你已经将ChromeDriver添加到了系统路径中)或./chromedriver或者直接在ChromeDriver的目录下),然后按回车。
  • ChromeDriver将显示其版本信息,类似于“Starting ChromeDriver 1127.0.6533.100 (...) on port 9515”。

3、确认版本是否匹配

  • ChromeDriver的版本号应该与Chrome浏览器的版本号的前三位数字相匹配。例如,如果Chrome浏览器的版本是100.0.4896.127,那么ChromeDriver的版本号应该是100.0.xxxx。
  • 如果ChromeDriver的版本低于Chrome浏览器的版本,你需要下载并安装一个新版本的ChromeDriver。
  • 如果ChromeDriver的版本高于Chrome浏览器的版本太多,也可能会出现兼容性问题。在这种情况下,尝试使用一个更接近浏览器版本的ChromeDriver。

4、下载对应浏览器的ChromeDriver版本

  • 通过上面三个步骤就可以知道对应的ChromeDriver和浏览器是否对应匹配了,如果不匹配则去官网下载对应的ChromeDriver版本。
  • 下载地址:Chrome for Testing availability
  • 下载对应的ChromeDriver版本后解压有两种放置方式:
    • 方式一:放在指定的目录管理,这种方式就需要在webdriver.Chrome(executable_path=driver_path)中指定ChromeDriver的目录。
    • 方式二:和python.exe文件放在同一目录,注意这里python.exe是你项目使用的python.exe,如果你使用的是虚拟环境,那么python.exe就是对应的虚拟环境目录,如下所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel的使用总结

目录 1、汇总公式&#xff1a;TEXTJOIN 2、excel中选择某个区域的方法 3、excel中如何在复制的时候&#xff0c;不将公式一起复制过去 4、想要自动填充某个区域的值的方法 1、汇总公式&#xff1a;TEXTJOIN TEXTJOIN 函数 - Microsoft 支持 例&#xff1a;TEXTJOIN("…

下拉表格选择器ReTableSelect组件(API)

组件实现基于 Vue3 + Element Plus + Typescript,同时引用 vueUse + lodash-es + tailwindCss (不影响功能,可忽略) 基于ReTable和Popover组件封装的下拉表格选择器组件,支持本地分页以及远程请求两种方式。 交互与展示尽量的与ElSelect保持一致。 下拉表格选择器ReTableSel…

倍思Eil这款耳机怎么样吗?南卡、倍思、QCY四款开放式耳机无广避坑测评!

近期&#xff0c;我近期&#xff0c;我注意到后台有许多小伙伴向我咨询如何挑选合适的开放式耳机。市场上开放式耳机品牌琳琅满目&#xff0c;它们在音质表现、佩戴舒适度以及综合性能上均展现出各自的差异。对于追求耳朵极致舒适体验的朋友而言&#xff0c;选择一款合适的开放…

Qt5 编译 Qt creator 源码中的 designer 模块

文章目录 下载 Qt Creator 源码 下载 Qt Creator 源码 Github: https://github.com/qt/qttools 笔记打算用 Qt 5.12.12 来编译 qt creator-designer 所以笔者下载的是 tag - 5.12.12 &#xff0c;解压后如下&#xff0c;先删除多余的文件&#xff0c;后续还要删除更多文件方便…

教程:使用Python裁剪TIF影像为多个自定义大小的小块(分割栅格)

教程&#xff1a;使用Python裁剪TIF影像为多个自定义大小的小块(分割栅格) 随着遥感技术的不断发展&#xff0c;影像数据的处理和分析在地理信息系统&#xff08;GIS&#xff09;和遥感领域显得尤为重要。在实际项目中&#xff0c;处理大规模的TIF影像数据往往需要对影像进行裁…

【原创】java+swing+mysql房屋租赁管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片&#xff0c;希望和大家…

进程的退出概念

进程退出 缺页中断&#xff08;补充&#xff09;页表中的权限位进程退出异常exit 缺页中断&#xff08;补充&#xff09; 之前我们了解了页表相关的知识&#xff0c;现在问大家一个问题&#xff0c;用new和malloc开辟内存的时候是虚拟内存还是物理内存呢&#xff1f; 答案是虚…

谷粒商城实战笔记-231-商城业务-认证服务-单点登录简介

文章目录 一&#xff0c;跨域名共享登录1&#xff0c;父子域名共享登录2&#xff0c;跨域名登录 二&#xff0c;单点登录-SSO单点登录的必要性单点登录的原理 三&#xff0c;XXL-SSO&#xff0c;开源的单点登录解决方案 一&#xff0c;跨域名共享登录 1&#xff0c;父子域名共…

OSPF-基础多区域实验

1.ENSP下载 阿里云盘分享 ⭐/*无需密钥 免费下载 安装不成功&#xff0c;可关注并私信博主*/ 2.OSPF的基础需求和规则 实验规则&#xff1a; 1.接口地址→XY.XY.XY.R /24 X:两者之间最小的 Y:两者之间最大的 R:谁的接口就是谁的编号 以R1和R2之间的连接为例&#xff0…

中国植物性状数据库

中国植物性状的研究主要集中在植物的生理结构和功能&#xff0c;‌以及它们对环境的适应性上。‌中国植物性状的多样性体现在多个方面&#xff0c;‌包括植物的生理结构、‌生长习性、‌以及对环境的适应性等。 中国植物性状数据库&#xff0c;包含了来自140个样点的1529种植物…

Leetcode876. 链表的中间结点(双指针)

题目描述 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中…

游泳耳机哪个品牌好?四大热门爆款游泳耳机实测体验速览!

游泳耳机作为水下运动的伴侣&#xff0c;有着不少喜爱的人群。然而&#xff0c;也有一部分人对其保持距离&#xff0c;原因往往是担心水下耳机进水损坏。但只要我们避开那些缺乏专业技术实力的产品&#xff0c;就能享受水下音乐带来的无限乐趣。作为一名资深音乐爱好者和游泳教…

减震组装对于哪些无人机是必不可少的!你知道吗?

高精度无人机 对于需要搭载高精度传感器或进行高精度测量的无人机&#xff0c;如测绘无人机、环境监测无人机等&#xff0c;减震组装是必不可少的。这些无人机需要确保在飞行过程中传感器数据的准确性和稳定性&#xff0c;因此必须采用有效的减震措施。 载重无人机 载重无人…

个人收藏个性化、实用性、可玩性在线网站持续更新,与君共享

1.https://handraw.top/ 支持中文手绘效果的白板工具&#xff0c;比较怀旧复古风格 界面简单风 2.https://app.diagrams.net 流程图、UML图、网络图、组织结构图、思维导图等&#xff0c;比较专业 可导出图片 PDF HTLM等各种格式 3.https://www.processon.com 主要用于生成…

杜占朋人物风采

杜占朋&#xff0c;衡水名校校长&#xff0c;一位荣获全国杰出青年称号的杰出教育家&#xff0c;同时也是全国范围内备受尊崇的红色基因传承者。他以其卓越的学术成就、丰富的实践经验以及不懈的教育创新精神&#xff0c;成为了当代教育领域的璀璨明星。他身兼数职&#xff0c;…

一文速通 Vue 基础

1、Vue 概述 官方文档中文&#xff1a;https://staging-cn.vuejs.org/ 英文&#xff1a;Vue.js - The Progressive JavaScript Framework | Vue.js 1.1、什么是 MVVM MVVM&#xff08;Model-View-ViewModel&#xff09;是一种软件设计模式&#xff0c;由微软WPF&#xff08…

C语言中的联合体和枚举类型

文章目录 &#x1f34a;联合体&#x1f34a;枚举类型 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;联合体 1、概述   联合体该结构体的定义形式类似&#xff0c;但是它是所有的成…

信息安全保证人员CISAW:安全集成

信息安全保障人员认证(CISAW)在安全集成领域的认证&#xff0c;主要针对申请者在信息系统安全集成的知识和理论以及项目实施中的综合应用能力进行全面评估。 这一认证特别强调对申请者在安全集成方面的知识深度和利用这些知识分析、解决实际问题的能力的评价。 此外&#xff…

python初级爬虫实战:我是怎么用python下载音乐的

今天分享的内容是如何使用python下载歌曲和歌词信息&#xff0c;文章涉及内容主要为了帮助大家学习python技能&#xff0c;请大家合规合理使用。 如果你正在学习Python爬虫&#xff0c;但是找不到方向的话可以试试我这一份学习方法和籽料呀&#xff01;点击 领取&#xff08;不…

北斗对我们普通人的生活有什么影响?

自北斗卫星导航系统&#xff08;BDS&#xff09;全面覆盖全球以来&#xff0c;北斗导航在我们日常生活中的重要性与日俱增。本文将详细探讨北斗导航系统如何从方方面面改变我们普通人的生活。 1. 精准定位&#xff1a;现代生活的基石北斗系统最显而易见的影响体现在精准定位和导…