这些错误消息…
Remotedisconnected('Remote end closed connection without'http.client.Remotedisconnected: Remote end closed connection without response
和
Remotedisconnected('Remote end closed connection without'urllib3.exceptions.ProtocolError: (’Connection aborted.’, Remotedisconnected(’Remote end closed connection without response’,))
…表示由于 *
根据urllib3.exceptions.ProtocolError:(’Connectionaborted。’,error(10054,’现有的连接被远程主机强行关闭’)))当您的二进制版本之间 时,此问题非常明显正在使用。
在使用 和 ,必须确保二进制文件与以下条目兼容:
ChromeDriver v2.46:支持Chrome v71-73ChromeDriver v2.45:支持Chrome v70-72ChromeDriver v2.44:支持Chrome v69-71(与ChromeDriver 2.43相同,但具有其他错误修复)ChromeDriver v2.43:支持Chrome v69-71ChromeDriver v2.42:支持Chrome v68-70ChromeDriver v2.41:支持Chrome v67-69ChromeDriver v2.40:支持Chrome v66-68ChromeDriver v2.39:支持Chrome v66-68ChromeDriver v2.38:支持Chrome v65-67ChromeDriver v2.37:支持Chrome v64-66ChromeDriver v2.36:支持Chrome v63-65ChromeDriver v2.35:支持Chrome v62-64ChromeDriver v2.34:支持Chrome v61-63ChromeDriver v2.33:支持Chrome v60-62ChromeDriver v2.32:支持Chrome v59-61ChromeDriver v2.31:支持Chrome v58-60ChromeDriver v2.30:支持Chrome v58-60ChromeDriver v2.29:支持Chrome v56-58ChromeDriver v2.28:支持Chrome v55-57ChromeDriver v2.27:支持Chrome v54-56:几个月前, Chromium小组宣布了ChromeDriver的版本控制模型将发生变化的初步声明。现在我们正在推进该计划。具体来说,ChromeDriver2.46将是包含主要版本2的最新版本。未来的ChromeDriver版本将具有与Chrome版本类似的版本号。我们将从下周的ChromeDriver73版本开始,而不是Beta版本的Chrome 73。
这是新发行模型的工作方式:
ChromeDriver将使用与Chrome相同的版本号方案。有关更多详细信息,请参见https://www.chromium.org/developers/version-numbers。每个版本的ChromeDriver将支持具有匹配的主要,次要和内部版本号的Chrome。例如,即将发布的ChromeDriver 73.0.3683。*将支持所有以73.0.3683开头的Chrome版本。在新的主要版本的Chrome进入Beta版之前,将发布匹配版本的ChromeDriver。例如,下周将发布新版本的ChromeDriver,以匹配Beta版本的Chrome m73。最初发行新的主要版本后,我们将根据需要发行补丁。这些修补程序可能与Chrome更新不同步。解决方法由于Google拒绝除已成立公司之外的所有公司访问GoogleMyBusiness的API密钥,因此我尝试使用seleniumwebdriver自动执行更改我的业务信息的过程。
什么有效?
通过自动执行登录表单登录到Google Mybusiness。
什么不起作用?
登录后,我需要打开编辑工作时间的小模式。我试图自动单击“编辑”按钮,但不幸的是,出现此错误:http.client.RemoteDisconnected:Remote end closed connection without response
我的代码:
from selenium import webdriveroptions = webdriver.ChromeOptions()options.add_argument('start-maximized')driver = webdriver.Chrome(chrome_options=options)def LoginGMB(driver):(myemail,mypassword) = AuthenticationDetails() driver.find_element_by_id(’identifierId’).send_keys(myemail) driver.find_element_by_id(’identifierNext’).click() time.sleep(2) driver.find_element_by_name(’password’).send_keys(mypassword) driver.find_element_by_id(’passwordNext’).click() time.sleep(2)def OpenGMB(url):driver.get(url) print(driver.current_url) pattern = re.compile('.*accounts.google.com/signin.*') match = re.search(pattern,cururl) if match:LoginGMB(driver) print('Ok we’re back') driver.find_element_by_id(’ow50’).click()OpenGMB(’https://business.google.com/edit/l/001?hl=en’)
堆栈跟踪:
https://accounts.google.com/signin/v2/identifier?service=lbc&passive=1209600&continueWe need to login as we are presented login pageOk we’re backTraceback (most recent call last):File '/home/joel/.local/lib/python3.6/site-packages/urllib3/connectionpool.py',line 600,in urlopen chunked=chunked)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/connectionpool.py',line 384,in _make_request six.raise_from(e,None)File '<string>',line 2,in raise_fromFile '/home/joel/.local/lib/python3.6/site-packages/urllib3/connectionpool.py',line 380,in _make_request httplib_response = conn.getresponse()File '/usr/lib/python3.6/http/client.py',line 1331,in getresponse response.begin()File '/usr/lib/python3.6/http/client.py',line 297,in begin version,status,reason = self._read_status()File '/usr/lib/python3.6/http/client.py',line 266,in _read_status raise RemoteDisconnected('Remote end closed connection without'http.client.RemoteDisconnected: Remote end closed connection without responseDuring handling of the above exception,another exception occurred:Traceback (most recent call last):File 'gmb.py',line 77,in <module> OpenGMB(url)File 'gmb.py',line 62,in OpenGMB el = driver.find_element_by_id(’ow50’)File '/home/joel/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py',line 360,in find_element_by_id return self.find_element(by=By.ID,value=id_)File '/home/joel/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py',line 978,in find_element ’value’: value})[’value’]File '/home/joel/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py',line 319,in execute response = self.command_executor.execute(driver_command,params)File '/home/joel/.local/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py',line 376,in execute return self._request(command_info[0],url,body=data)File '/home/joel/.local/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py',line 399,in _request resp = self._conn.request(method,body=body,headers=headers)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/request.py',line 72,in request **urlopen_kw)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/request.py',line 150,in request_encode_body return self.urlopen(method,**extra_kw)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/poolmanager.py',line 323,in urlopen response = conn.urlopen(method,u.request_uri,**kw)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/connectionpool.py',line 638,in urlopen _stacktrace=sys.exc_info()[2])File '/home/joel/.local/lib/python3.6/site-packages/urllib3/util/retry.py',line 367,in increment raise six.reraise(type(error),error,_stacktrace)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/packages/six.py',line 685,in reraise raise value.with_traceback(tb)File '/home/joel/.local/lib/python3.6/site-packages/urllib3/connectionpool.py',in _read_status raise RemoteDisconnected('Remote end closed connection without'urllib3.exceptions.ProtocolError: (’Connection aborted.’,RemoteDisconnected(’Remote end closed connection without response’,))