关闭所有 puppeteer 浏览器

Close all puppeteer browsers

是否可以使用一些代码块关闭所有 运行 人偶浏览器? 我已经使用 for 循环打开了更多浏览器,我想在使用 process.exit().

退出进程之前停止它们

我想清除浏览器的临时文件(缓存和其他),我正在启动浏览器使用 const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-features=site-per-process', '--proxy-server=proxy_url'] });.

您可以使用方法 close(),请参阅 https://pptr.dev/#?product=Puppeteer&version=v12.0.1&show=api-browserclose

单一浏览器:

const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-features=site-per-process',  '--proxy-server=proxy_url'] });


// ... DO STUFF ...


await browser.close();

多个浏览器:

const browserOptions = { headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-features=site-per-process',  '--proxy-server=proxy_url'] };

const maxBrowsers = 3;
const allBrowsers = [];

for(let i = 0; i < maxBrowsers; ++i) {
    const aBrowser = await puppeteer.launch(browserOptions);
    allBrowsers.push(aBrowser);
}


// ... DO STUFF ...


// close browsers one by one
for(let aBrowser of allBrowsers) {
    await aBrowser.close();
}

// or close browsers all at once
// await Promise.all(
//     allBrowsers.map(aBrowser => aBrowser.close())
// );