我有100个网页必须测试运行时错误。我发现Puppeteer插件可以“不费吹灰之力”完成工作,但是我遇到了一个难题:一个启动的浏览器带有多个选项卡,或者每个链接都有新的浏览器。在这种情况下最好的方法是什么?
听说,如果有多个选项卡,则当选项卡不清晰时,css动画和其他内容(现在不记得了)可能无法正常工作。
显然,使用多个浏览器会导致CPU负载更高(不是?)
答案 0 :(得分:2)
这些是我认为每种方法的优点:
多个浏览器的优势:
一种浏览器(具有多个页面)的优势:
还可以选择使用多个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
。