在Python3.6(硒模块)中:ConnectionAbortedError:[WinError 10053]建立的连接被主机中的软件中止了

时间:2018-07-03 18:01:31

标签: selenium-webdriver web-scraping python-3.6

我正在用“用Python自动化无聊的东西”(由Al Sweigart编写)来学习Python,但是我对Web抓取(第11章)有疑问,即硒模块。我在Python IDLE中编写以下代码:

>>> from selenium import webdriver
>>> browser = webdriver.Firefox() # Here Windows command black window appears
                                  # and Mozilla Firefox with blank page opens
>>> browser.get('http://inventwithpython.com')
    Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    browser.get('http://inventwithpython.com')
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 326, in get
    self.execute(Command.GET, {'url': url})
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    response = self.command_executor.execute(driver_command, params)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 472, in execute
    return self._request(command_info[0], url, body=data)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 495, in _request
    self._conn.request(method, parsed_url.path, body, headers)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1065, in _send_output
    self.send(chunk)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 986, in send
    self.sock.sendall(data)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

>>> browser.get('http://inventwithpython.com')

当我第一次写>>> browser.get('http://inventwithpython.com')时,会发生错误。当我第二次编写此命令时,Mozilla Firefox浏览器将打开所需的网页。当我第三次编写命令时,再次发生ConnectionAbortedError,依此类推-编写命令的奇数时间(1、3,...)导致ConnectionAbortedError,而偶数时间(2、4,.. 。)顺利通过。 我试图关闭防病毒和防火墙,但没有帮助。请帮我解决这个问题。 附言我有Windows 10操作系统。

1 个答案:

答案 0 :(得分:1)

我是《用Python自动完成无聊的东西》的作者。我在Windows 10计算机上也遇到此错误。根据这个StackOverflow答案https://stackoverflow.com/a/51005821/1893164,这似乎是geckodriver 0.21.0的问题。

对我有用的解决方法是安装旧版本的geckodriver 0.20.1,您可以在此处下载:https://github.com/mozilla/geckodriver/releases/tag/v0.20.1