urllib3.exceptions.ProtocolError:('Connection aborted.',error(10054,'现有连接被远程主机强行关闭')) [英] urllib3.exceptions.ProtocolError: ('Connection aborted.', error(10054, 'An existing connection was forcibly closed by the remote host'))
问题描述
我正在尝试使用Python Selenium chromedriver在chrome上打开一个网站. Chrome浏览器正在打开(带有警告),并且网址未打开.
I am trying to open a website on chrome using Python Selenium chromedriver. Chrome browser is opening (with warnings) and the url is not opening.
版本详细信息:Chrome:68.0.3440.106 硒:3.14.0 chromedriver:2.20 python:2.7
Version details : Chrome : 68.0.3440.106 selenium : 3.14.0 chromedriver : 2.20 python : 2.7
我正在使用以下代码:
import time
from selenium import webdriver
import selenium
driver = webdriver.Chrome("C:/Python27/chromedriver.exe")
driver.get("https://vancouver.craigslist.ca/")
print(driver.title)
time.sleep(8)
driver.quit()
我遇到以下错误:
C:\Users\sohil7777\PycharmProjects\temp.py\venv\Scripts\python.exe C:/Users/sohil7777/.PyCharmCE2018.2/config/scratches/scratch.py
Traceback (most recent call last):
File "C:/Users/sohil7777/.PyCharmCE2018.2/config/scratches/scratch.py", line 6, in <module>
driver = webdriver.Chrome("C:/Python27/chromedriver.exe")
File "C:\Python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 75, in __init__
desired_capabilities=desired_capabilities)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 156, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 251, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 318, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 375, in execute
return self._request(command_info[0], url, body=data)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 397, in _request
resp = self._conn.request(method, url, body=body, headers=headers)
File "C:\Python27\lib\site-packages\urllib3\request.py", line 72, in request
**urlopen_kw)
File "C:\Python27\lib\site-packages\urllib3\request.py", line 150, in request_encode_body
return self.urlopen(method, url, **extra_kw)
File "C:\Python27\lib\site-packages\urllib3\poolmanager.py", line 322, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "C:\Python27\lib\site-packages\urllib3\connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Python27\lib\site-packages\urllib3\util\retry.py", line 367, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Python27\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Python27\lib\site-packages\urllib3\connectionpool.py", line 377, in _make_request
httplib_response = conn.getresponse(buffering=True)
File "C:\Python27\Lib\httplib.py", line 1121, in getresponse
response.begin()
File "C:\Python27\Lib\httplib.py", line 438, in begin
version, status, reason = self._read_status()
File "C:\Python27\Lib\httplib.py", line 394, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "C:\Python27\Lib\socket.py", line 480, in readline
data = self._sock.recv(self._rbufsize)
urllib3.exceptions.ProtocolError: ('Connection aborted.', error(10054, 'An existing connection was forcibly closed by the remote host'))
我想念什么吗?非常感谢您的帮助
Am i missing something? Really appreciate your help
推荐答案
此错误消息...
urllib3.exceptions.ProtocolError: ('Connection aborted.', error(10054, 'An existing connection was forcibly closed by the remote host'))
...表示 ChromeDriver 无法启动/产生新的 WebBrowser ,即 Chrome浏览器会话.
...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser i.e. Chrome Browser session.
您的主要问题是所使用的二进制文件版本之间的不兼容性:
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- 您正在使用 chromedriver = 2.20
- chromedriver = 2.20 的发行说明明确提到以下内容:
支持 Chrome v43-48
- 您正在使用 chrome = 68.0
- ChromeDriver v2.41 明确提及以下内容:
- You are using chrome=68.0
- Release Notes of ChromeDriver v2.41 clearly mentions the following :
- 将 ChromeDriver 升级到当前的 ChromeDriver v2.41 级别.
- 将 Chrome 版本保持在 Chrome v67-69 级别之间. (根据ChromeDriver v2.41发行说明) 通过 IDE
- 清理您的项目工作区和重建您的项目,并且仅具有必需的依赖项.
- 如果您的基本 Web客户端版本太旧,则将其卸载并安装最新版本的 Web客户端 GA.
- 执行您的
@Test
. - Upgrade ChromeDriver to current ChromeDriver v2.41 level.
- Keep Chrome version between Chrome v67-69 levels. (as per ChromeDriver v2.41 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- If your base Web Client version is too old, then uninstall it and install a recent GA and released version of Web Client.
- Execute your
@Test
.
支持 Chrome v67-69
因此 ChromeDriver v2.33 与 Chrome浏览器v65.0
这篇关于urllib3.exceptions.ProtocolError:('Connection aborted.',error(10054,'现有连接被远程主机强行关闭'))的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!