找回密码
 会员注册
查看: 25|回复: 0

Python中无法使用Selenium,显示ValueErrorTimeoutvalueconnectwas……,butitmustbeanint,floatorNone

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71377
发表于 2024-9-6 10:42:22 | 显示全部楼层 |阅读模式
近期重装了系统,需要做个爬虫,最初想用Selenium和Msedge模拟浏览器操作,但总是不成功,即使是用webdriver打开网页这样最简单的操作,也无法做到,总是显示ValueError:Timeoutvalueconnectwas,butitmustbeanint,floatorNone。   怀疑是设置问题,将对应浏览器的webdriver版本核对一遍,包括路径,均没有问题,但就是出错。以前曾用Selenium和Chrome浏览器做过爬虫,于是又改用Chrome试了试,但结果还是出现一样的错误。   查了许多资料,始终没有提到如何解决。最后直接搜索错误信息,终于在csdn.net某大神博客上找到了解决办法。pythonselenium报错ValueError:Timeoutvalueconnectwas<...>,butitmustbeanint,floatorNone._流势的博客-CSDN博客    方案一:    文章指出,出现这一问题,是selenium库和urllib3库版本不兼容所致。我最初安装的Selenium版本是3.141.0,Urllib3的版本是2.0.3,这两个版本的库是不兼容的,如果安装的是这两个库,那么在使用selenium时,就会显示上述错误。 在Pycharm中,选择File—Setting——Project:…——PythonInterpreter,点“+” 输入urllib3,找到后,勾选Specifyversion指定库的版本为1.26.2,点击InstallPackage。把urllib3版本降级到1.26.2后,错误全部消失。    方案二:根据文末BH4EOD的评论,将selenium降为3.3.1,也可以解决问题。没自己试验过,如果方法一解决不了,也可以试下这个方法。   方案三:因python版本不对应,导致出错。根据weixin_38686363在文末评论,他直接调用conda虚拟环境用的python3.10会出错,后来换成python3.8.10,问题就解决了。   方案二和三,我没亲身体验过,不过是别的网友成功过的。如果方案一解决不了,可以试一下二和三。希望遇到问题的网友把解决这一问题的办法能在留言里写一下。我会把留言中的问题解决办法归集在一起,让大家的经验帮助更多的人。   其他问题及解决方案:    1、urllib3版本无法降到1.26.2。根据网友Th3Shine在文末的评论,把python版本降到3.10可顺利将urllib3版本降到1.262。   2、显示错误‘Nomodulenamed'urllib3.packages.six.moves'。根据网友tomniu8998和weixin_46250057在文末的回复,把selenium版本调整到3.3.1配合urllib3版本1.26.2,这一问题基本都能解决。若仍无法解决,可更换selenium版本:pipinstallurllib3==2.1.0pipinstallselenium==4.8.0两点心得:一是编程遇到难以解决的问题时,不妨试着直接查找一下错误信息。这样也许你能直接找到答案,往往比自己去想快的多,比如这次的问题,如果不知道两个包不兼容的话,很自己解决这一问题。二是发现编程问题解决办法后,应该在博客上做好记录,这样不仅便于自己总结和查找,而且不一定什么时候就能帮助别人解决问题,节省其它网友的大量时间。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 20:41 , Processed in 1.364750 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表