我有多个puppeteer脚本,我想同时运行,直到现在我为每个脚本使用多个浏览器,但现在我只想使用一个浏览器,多个脚本在不同的页面中同时运行。
我的目标是连接到puppeteer实例(如果已存在)或创建一个(如果它不存在)(这个新创建的实例也将由我的其他脚本使用)。
我怎样才能做到这一点?我知道puppeteer.connect()
。
我想实现以下逻辑
Browser.js:
if(puppeteer instance exists){
return browser.wsEndpoint()
} else {
browser = await puppeteer.launch();
return browser.wsEndpoint();
}
在我的脚本文件中:
puppeteer.connect(call browser.js);
这样每当我调用browser.js时,我总会得到一个puppeteer实例。
答案 0 :(得分:1)
虽然通常是不好的做法,但解决问题的最佳方法可能是使用全局变量。
使用以下代码:
global.browser = await puppeteer.launch(opts);
然后在代码中的任何其他位置使用browser.whateveryoulike