Chrome 在 selenium 中内存不足 - 没有抛出错误

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 页面,因此我无法捕获并处理该错误。

Chrome内存不足错误页面

内存不足是预料之中的事情,因为我在 SPA 中导航了很长时间。