问题
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.
Version details : Chrome : 68.0.3440.106 selenium : 3.14.0 chromedriver : 2.20 python : 2.7
I am using below code :
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()
I am getting below error:
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
回答1:
This error message...
urllib3.exceptions.ProtocolError: ('Connection aborted.', error(10054, 'An existing connection was forcibly closed by the remote host'))
...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:
- You are using chromedriver=2.20
- Release Notes of chromedriver=2.20 clearly mentions the following :
Supports Chrome v43-48
- You are using chrome=68.0
- Release Notes of ChromeDriver v2.41 clearly mentions the following :
Supports Chrome v67-69
So there is a clear mismatch between ChromeDriver v2.33 and the Chrome Browser v65.0
Solution
- 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
.
来源:https://stackoverflow.com/questions/51799251/urllib3-exceptions-protocolerror-connection-aborted-error10054-an-exist