gpt4 book ai didi

node.js - Puppeteer 中的多浏览器与多选项卡

转载 作者:搜寻专家 更新时间:2023-11-01 00:50:36 26 4
gpt4 key购买 nike

我有 100 个网页需要测试运行时错误。我发现 Puppeteer 插件可以“毫不费力”地做到这一点,但我遇到了一个难题:启动一个带有多个选项卡的浏览器或为每个链接创建一个新浏览器。在这种情况下最好的方法是什么?

如果有多个标签,我听说,当标签不在焦点上时,CSS动画和其他东西(现在不记得)将无法使用。

显然,多个浏览器会导致更高的 CPU 负载(不是吗?)

最佳答案

以下是我认为每种方法的优点:

多浏览器的优势:

  • 独立进程:如果一个浏览器崩溃,其他浏览器继续运行

一个浏览器(多个页面)的优势:

  • 更少的内存使用:尽管实际上内存和 CPU 使用在很大程度上取决于您正在执行的任务(屏幕截图、DOM 操作)
  • Cookie(和其他数据)是共享的

还可以选择使用多个 contexts ,它比两个独立的浏览器需要更少的内存,但不共享 cookie。

所以在现实中,您可能应该同时尝试这两种选择。你可能想看看图书馆 puppteer-cluster我写了,它还负责错误处理和浏览器在崩溃时重新启动。

您只需编写代码,只需一行即可在多个浏览器和多个页面之间切换:

const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_PAGE, // which kind of concurrency
maxConcurrency: 2, // number of parallel workers
});

只需将 CONCURRENCY_PAGE 替换为 CONCURRENCY_BROWSER 即可尝试使用多个浏览器。您可能还想尝试第三个选项 CONCURRENCY_CONTEXT

关于node.js - Puppeteer 中的多浏览器与多选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52227893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com