Chromedriver 使用 Selenium 打开 1800-1900 页时显示 SBOX_FATAL_MEMORY_EXCEEDED 错误

2023-12-07

driver_t = webdriver.Chrome()
driver_t.implicitly_wait(5)
driver_t.get(Company intranet)

elem = driver_t.find_element_by_id("j_username")
elem.clear()
elem.send_keys(".....")
elem = driver_t.find_element_by_id("j_password")
elem.clear()
elem.send_keys(".....")
driver_t.find_element_by_id("frm-ok").click()
driver_t.maximize_window()


page_counter = 0  ***#10 items in 1 page, WHEN TURN PAGE ABOUT 189, ERROR HAPPEN***
while True:
    els = driver.find_elements_by_xpath("//table[@id='flexme1']/tbody/tr")
    cnt = len(els)
    if not cnt:
        print(time.asctime(), "This page has no orders.")
        break

    page_counter = page_counter + 1
    print(time.asctime(), "Page Counter: ", page_counter)

    oi_l = craw.fetch_order_info(driver)

    for i in range(1, cnt + 1):
        last_id, od_l = craw.fetch_order_detail(driver, last_id, i)

    page_down = "//form[@name='frmList']/div[5]/div[2]/ul/li[9]/a"
    elem = driver.find_element_by_xpath(page_down)
    class_name = elem.get_attribute('class')
    if "disable" in class_name:
        print(time.asctime(), "Task finished.")
        break

    elem.click()

当外循环运行大约150-200次时,chrome崩溃。

如何解决这个问题? 有人说 chrome 维护了一个很深的历史列表,是答案吗?


这个错误...

SBOX_FATAL_MEMORY_EXCEEDED

...意味着 Chrome 中存在巨大的内存消耗问题,导致选项卡崩溃并出现 SBOX_FATAL_MEMORY_EXCEEDED 错误。


深潜

根据文章SBOX FATAL MEMORY EXCEEDED 不断并且 chrome 正在使用大量内存在以下所有实例中都会观察到 Chrome 消耗大量内存的问题:

  • Google Chrome 版本 80.0.3987.132(官方版本)(64 位)
  • Google Chrome 版本 82.0.4083.0(官方版本)(64 位)
  • Google Chrome 版本 82.0.4085.4 金丝雀(64 位)

大多与在视窗10系统时ESET NOD32 防病毒软件 13.0.24.0已安装。


Chrome高内存消耗的快照:

ESET

Chrome 高内存使用率的快照:

ESET1

根据文章Eset 消耗 Chrome 的主要内存在 ESET 安全论坛中:

Eset NOD AV 13.0.24.0 和 13.1.16.0 以及 Chrome 的主要问题:由于 Chrome 在 Canary 和 Dev 渠道上更新到 82.0.4083(以及最新的 82.0.4085.4),Chrome 中存在巨大的内存消耗问题(> 8GB)在(几乎)所有导致选项卡崩溃并出现 SBOX_FATAL_MEMORY_EXCEEDED 错误的网站(尤其是 gmail)上。删除 NOD 可以解决该问题,重新安装会重新出现该问题,等等。 Chrome Canary 和 Dev 82.0.4077.0 中不存在此类问题。


Solution

根据 ESET 支持文章KB3415最有效的解决方案是在 ESET Windows 家庭产品中启用预发布更新。脚步:

  • 启用预发布更新以解决您的产品问题。
  • 切换回定期更新。

tl; dr

我们在讨论中详细讨论了这个问题ESET 导致渲染器内存使用过多并且该问题已从队列中删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chromedriver 使用 Selenium 打开 1800-1900 页时显示 SBOX_FATAL_MEMORY_EXCEEDED 错误 的相关文章

随机推荐

  • 通过窗口名称访问窗口

    如果我使用打开一个窗口 window open myurl html windowname width 100 height 100 如何使用 窗口名称 引用新窗口 从打开它的同一页面 这个问题就是专门针对这个问题的 我知道我可以使用 va
  • 网络关闭时本地存储的上游数据不会在 JB 和 ICS 上的网络上发送(它们正在重新启动)

    这是我的场景 当网络中断时 GCM 客户端将设备到云的消息 上游 本地存储在本地队列中 其长度似乎为 20 尽管从未说明 当此队列已满时 消息将被本地丢弃 并且意图包含消息类型MESSAGE TYPE SEND ERROR 关于删除哪个 m
  • Sequelize 中的复数形式如何工作?

    使用时续集和阅读Sequelize 文档 我观察到有时型号名称使用单数 有时使用复数 有些通过关联自动添加到模型的方法具有单数形式 有些具有复数形式 1 Sequelize 如何计算复数 它只是在字符串后面附加一个 s 吗 2 如果我想使用
  • 使用 Google Caja 运行用户提供的 Javascript

    看来官方例子 use a caja js仅包含一个文件iframe从托管 caja 编译服务的服务器加载 URL 该服务又从某个 URL 获取输入 相关 API 可用here 然而 我真正想要的是安全地 并且重复地 运行用户提供的 Java
  • 如何实现 &Struct 的默认值?

    在多次阅读 Rust 书之后 我想我开始了解生命周期的要点 但对我来说 另一个问题是我们需要用来声明它们的语法 我发现这确实违反直觉 我将我的一段愚蠢的代码简化为这对结构 其中一个引用另一个 derive Debug Default pub
  • RemoteWebDriver 和 Grid - 是否可以获取服务器 IP?

    我使用 Selenium 2 和 Grid 中的 RemoteWebDriver 将测试划分到多个虚拟机上 假设我有两台 Linux 机器 在测试中我指定了在 Linux 机器上运行的功能 但我无法弄清楚正在使用这两台机器中的哪一台 有什么
  • SapUI5-平铺容器不工作

    由于某种原因 tilecontainer 无法工作 如果我放置一个列表而不是 Tiles 它工作正常 我正在尝试构建一个包含图块的简单应用程序 我是 SAPUI5 的新手 这是XML的代码
  • 如何从其父视图中删除带有圆角的 UIView?

    我正在为 3 2 及更高版本创建 iPad 应用程序 我的应用程序有一个覆盖视图 它具有半透明效果 使其下方的所有内容都变暗 在这个视图的中间 我在这个半透明的地方切了一个洞 让部分背景过滤器毫发无伤地通过 代码如下 void drawRe
  • 显示ArrayList的表

    我有一个main java有一个按钮 当您按下它时 它会调用一个方法并返回一个节点的 ArrayList 我想在表中显示 ArrayList Node 类中描述的 5 个字段 如何做到这一点 问题是显示一些列表类型的字段 Node java
  • Mercurial:检测到合并冲突时不会出现编辑器

    我想知道这里有人有在Ubuntu上运行mercurial的经验吗 我整个早上都在玩它 喜欢迄今为止所看到的一切 我遇到的一个问题是 当我进行合并并检测到冲突时 它不会自动在命令行编辑器中显示该文件以允许我解决冲突 它只是告诉我存在冲突 然后
  • 在 Spring 5 JPA findOne() 中获取 `Long 无法转换为 Example`

    我得到一个argument mismatch Long cannot be converted to Example
  • 如何让OpenCv显示两个颜色通道组合的图像?

    使用 OpenCV 从图像中获取一个颜色通道的输出并不困难 而且可以轻松完成 但是否有可能从图像的三种主要 BGR 颜色中 我想直接使用函数看到仅绿色和红色组合而不是蓝色的图像 因此 我可以通过将所有蓝色值设置为 0 来执行上述操作 然后查
  • Tomcat 7 不断给我一个 404。我做错了什么?

    这是我的第一个 servlet 这是它的代码 import javax servlet import javax servlet http import java io public class Ch1Servlet extends Htt
  • 按键事件无反应

    我正在QT上写文章 OpenGL已连接 工作正常 但keyPressEvent和mousePressEvent事件不响应击键 class MainWindow public QGLWidget Q OBJECT protected void
  • 为 EditText 实现文本观察器

    我有一个编辑文本 当我点击它时 它变得可聚焦 我将输入要输入到 EditText 中的输入文本 我想为 EditText 实现一个监听器 这样当我停止输入时 它应该自动将该文本保存到数据库中 而不是有一个按钮 如何让 EditText 有一
  • COM+ 组件调用其他 COM+ 组件 - “无法加载类型”

    我有两个 NET 程序集 它们注册为 COM 组件 并且我正在从常规控制台应用程序测试工具中测试它们 Dim objFirst As New MyFirstComponent COM initialisation Dim RC As Boo
  • 如何将 Glass Fish 服务器与适用于 Java EE 的 eclipse luna 结合使用?

    我认为当您安装适用于 Java EE 的 Glass Fish 工具时 Glass Fish 服务器会随 Eclipse 一起提供 然而 在尝试安装Glass Fish工具后 它说没有什么可更新的 好的 所以当我尝试启动服务器时 它会要求服
  • 变量声明和内存分配

    我想知道局部变量声明过程中是否分配了内存 假设我在函数内编写这段代码 整数a 10 内存已分配 值 10 已存储在其中 关于什么int a 这个声明语句会分配4个字节的内存吗 Thanks 局部变量通常存储在堆栈上 因此实际上分配了字节in
  • 关于理解绑定和继承的相关性

    今天我正在阅读 MDN 文档Function prototype bind 在该部分下用作构造函数的绑定函数有一个例子我不太理解 我在 Node js v 4 4 5 和 Google Chrome v58 0 3029 81 中运行了以下
  • Chromedriver 使用 Selenium 打开 1800-1900 页时显示 SBOX_FATAL_MEMORY_EXCEEDED 错误

    driver t webdriver Chrome driver t implicitly wait 5 driver t get Company intranet elem driver t find element by id j us