AttributeError:类型对象“\u socketobject”没有属性“error”

2024-09-27 21:29:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Python2.7.10和Phantom JS 1.9.8。在

最近,我开始在.close()上看到问题。在

具体来说:

我将browser对象设置为`browser=webdriver.PhantomJS()

然后创建BeutifulSoup对象:

browser.get(url)
webpage = browser.page_source
soup = BeautifulSoup(webpage, "lxml")

打开浏览器.close(),我时不时会得到:

^{pr2}$

它在“catch子句”上触发:

except socket.error as s_err:

我只能假设这个“catch”失败的原因是尽管发生了错误,但是套接字实际上已经被关闭,并且关闭过程中的其他东西触发了错误。在

假设我是正确的,有没有一种方法可以真正捕捉到错误?在

我有一个finally子句,它确保浏览器被终止(因此我不会完全崩溃):

finally:
   browser.quit()

Tags: 对象browsercloseget错误js浏览器phantomjs
1条回答
网友
1楼 · 发布于 2024-09-27 21:29:20

发现的问题:

异常子句except (httplib.HTTPException, socket.error)错误:

  • 它捆绑了两个无关的异常(不是世界末日,但不是ok)
  • 我实际上是import errnofrom socket import error as socket_error,但是我的异常子句使用了一个不存在的套接字错误(理论上应该可以,但是…)

我现在分割了异常并使用errno test/check:

except socket_error as s_err:
     if s_err == errno.ECONNREFUSED or s_err == errno.ECONNRESET:
        ...

相关问题 更多 >

    热门问题