连简简单单的这两行代码都报一堆错误:
查了很多资料,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(这位大佬讲的很详细,同时提供了其他方法)
发表评论