3 回答

TA贡献1848条经验 获得超10个赞
此错误消息...
MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=51379): Max retries exceeded with url: /session/2e64d2a1-3c7f-4221-96fe-9d0b1c102195/window (Caused by ProtocolError('Connection aborted.', error(111, 'Connection refused')))
...意味着该get()方法无法引发MaxRetryError。
有几件事:
首先,根据讨论,max-retries-exceeded异常令人困惑,回溯有点误导。请求包装异常以方便用户。原始异常是显示的消息的一部分。
请求永远不会重试(它设置retries=0for urllib3 HTTPConnectionPool),因此如果没有MaxRetryError和HTTPConnectionPool关键字,错误会更加规范。所以理想的Traceback应该是:
ConnectionError(<class 'socket.error'>: [Errno 1111] Connection refused)
但是@ sigmavirus24在他的评论中再次提到......包装这些异常会产生一个很好的API但调试经验不佳......
继续前进的计划是尽可能向下遍历到最低级别的异常并使用它。
最后,通过重写一些与实际连接拒绝错误无关的异常来解决此问题。
解
由于按照发行说明的硒3.14.1:
* Fix ability to set timeout for urllib3 (#6286)
该合并是:修复urllib3不能设置超时!
结论
升级到Selenium 3.14.1后,您将能够设置超时并查看规范的回溯并能够采取必要的操作。

TA贡献1806条经验 获得超5个赞
刚遇到同样的问题。解决方案是使用脚本递归更改文件夹的所有者。在我的情况下,该文件夹具有root:root所有者:组,我需要将其更改为ubuntu:ubuntu。
解: sudo chown -R ubuntu:ubuntu /path-to-your-folder
添加回答
举报