no_*_*eas 7 python windows selenium selenium-chromedriver
我有一个使用 Chrome 的 selenium 脚本,它运行了很长时间。
最终,浏览器内存不足,我收到“错误代码:内存不足”页面。
问题是,Python 中没有抛出错误,所以我不知道如何检测错误何时发生。代码最终会挂起,通常在这样的行上
WebDriverWait(self.driver, 10).until(EC.presence_of_element_ located((By.CSS_SELECTOR, '.timeline-events')).click()
只有当我手动导航到另一个页面时,我才会收到类似“selenium.common.exceptions.WebDriverException:消息:断开连接:收到 Inspector.detached 事件”的错误
我知道我可以让脚本定期关闭并重新打开浏览器,但我宁愿直接处理错误。
编辑:目前,我正在通过在内存使用量超过 1 GB 时重新启动脚本来解决该问题,但我仍然希望能够抛出实际错误。
编辑2:我已阅读链接的帖子,但我认为它们没有解决同一问题。
关于这篇文章:How to set memory limit for OOM Killer for chrome?
我正在使用 Windows。内存限制似乎是由浏览器而不是操作系统施加的。
关于这篇文章:java.lang.OutOfMemoryError:无法在Spring boot中使用ChromeDriver和Chrome通过Selenium创建新的本机线程错误
我的问题是没有抛出异常(在Python中)。相反,驱动程序只是挂在上面发布的代码行上并显示“错误代码:内存不足”Chrome 页面,因此我无法捕获并处理该错误。
内存不足是预料之中的事情,因为我在 SPA 中导航了很长时间。