当前位置: 代码网 > it编程>前端脚本>Python > selenium+edgedriver或者chromedriver 报错:Traceback (most recent call last):.......ValueError: Timeout va

selenium+edgedriver或者chromedriver 报错:Traceback (most recent call last):.......ValueError: Timeout va

2024年08月02日 Python 我要评论
查了很多资料,chromedriver版本跟chrome版本是否匹配?edgedriver与edge匹配?edgedriver是否跟python.exe放一起了?是否加到环境变量里了?终于看到了一位大佬的博客,也是这个问题,原来是selenium版本是3.141.0,而urllib的版本是2.0.2,这俩库的版本不兼容,应该是要互相调用函数...,大坑啊!(这位大佬讲的很详细,同时提供了其他方法)安装成功后就可以自动打开网页啦!

连简简单单的这两行代码都报一堆错误:

查了很多资料,chromedriver版本跟chrome版本是否匹配?edgedriver与edge匹配?edgedriver是否跟python.exe放一起了?是否加到环境变量里了?...发现还是报错:traceback (most recent call last):
  file "d:\code\python\5_27\demo.py", line 4, in <module>
    driver = webdriver.edge(executable_path=path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\selenium\webdriver\edge\webdriver.py", line 61, in __init__
    remotewebdriver.__init__(
  file "d:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  file "d:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(command.new_session, parameters)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 319, in execute
    response = self.command_executor.execute(driver_command, params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 374, in execute
    return self._request(command_info[0], url, body=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 402, in _request
    resp = http.request(method, url, body=body, headers=headers)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\_request_methods.py", line 118, in request
    return self.request_encode_body(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\_request_methods.py", line 217, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\poolmanager.py", line 432, in urlopen
    conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\poolmanager.py", line 303, in connection_from_host
    return self.connection_from_context(request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\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 "d:\anaconda\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 "d:\anaconda\lib\site-packages\urllib3\poolmanager.py", line 265, in _new_pool
    return pool_cls(host, port, **request_context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\connectionpool.py", line 196, in __init__
    timeout = timeout.from_float(timeout)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\util\timeout.py", line 190, in from_float
    return timeout(read=timeout, connect=timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\util\timeout.py", line 119, in __init__
    self._connect = self._validate_timeout(connect, "connect")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  file "d:\anaconda\lib\site-packages\urllib3\util\timeout.py", line 156, in _validate_timeout
    raise valueerror(
valueerror: timeout value connect was <object object at 0x0000013f9f8501a0>, but it must be an int, float or none.

终于看到了一位大佬的博客,也是这个问题,原来是selenium版本是3.141.0,而urllib的版本是2.0.2,这俩库的版本不兼容,应该是要互相调用函数...,大坑啊!我的解决方案是把urllib版本换成1.26.2就可以顺利解决了:

安装成功后就可以自动打开网页啦!

参考:http://t.csdnimg.cn/adkcj(这位大佬讲的很详细,同时提供了其他方法)

http://t.csdnimg.cn/s3n0k

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com