我正在使用python 2.7.10和Phantom JS 1.9.8。
最近,我开始在.close()上看到问题。
具体做法是:
我将浏览器对象设置为`browser = webdriver.PhantomJS()
然后我创建了BeutifulSoup对象:
browser.get(url)
webpage = browser.page_source
soup = BeautifulSoup(webpage, "lxml")
在browser.close()上,我不时地得到:
...
except socket.error as s_err:
AttributeError: type object '_socketobject' has no attribute 'error'
在' catch子句'
上触发except socket.error as s_err:
我只能假设这个问题的原因是什么?失败是套接字实际上已经关闭,尽管有错误,并且关闭进程中的其他内容已触发错误。
假设我是正确的,有没有办法实际捕获错误?
我有一个finally子句确保浏览器终止(所以我没有完全崩溃):
finally:
browser.quit()
答案 0 :(得分:0)
发现的问题:
异常条款except (httplib.HTTPException, socket.error)
错误:
import errno
和from socket import error as socket_error
但是我的异常子句使用了一个不存在的socket.error(理论上它应该可以工作但是......)我现在已经拆分了异常并使用了errno test / check:
except socket_error as s_err:
if s_err == errno.ECONNREFUSED or s_err == errno.ECONNRESET:
...