我有100个网页,我必须测试运行时错误。我发现Puppeteer插件可以做到“没有汗水”,但我陷入了一个两难的境地:有一个推出的浏览器有多个标签或每个链接的新浏览器。在这种情况下,最好的方法是什么?
如果有多个标签,我听说,当标签不在焦点时,css动画和其他东西(现在不能记住)有可能不起作用。
显然,多个浏览器会导致更高的CPU负载(没有?)
在我看来,这些是每种方法的优点:
多种浏览器的优势:
一个浏览器的优势(多页):
还可以选择使用多个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
。