简体   繁体   English

Puppeteer-cluster 关闭浏览器本身

[英]Puppeteer-cluster close browsers itself

I use puppeteer-cluster + node js.我使用 puppeteer-cluster + node js。 I have some script.我有一些脚本。 I'm a newbie我是新手

The script runs halfway through and then ends and is not executed further.脚本运行到一半,然后结束,不再进一步执行。 I've been looking for a solution for a week now, I don't understand what's the matter.我一直在寻找一个星期的解决方案,我不明白这是怎么回事。 Help me please enter code here帮我请在此处输入代码

 const { Cluster } = require('puppeteer-cluster-delay'); (async () => { const cluster = await Cluster.launch({ concurrency: Cluster.CONCURRENCY_CONTEXT, maxConcurrency: 2, puppeteerOptions: {headless: false, }, }); await cluster.task(async ({ page, data: url }) => { await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('1'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('2'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('3'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('4'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('5'); await page.goto('http://www.nike.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('6'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('7'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('8'); await page.goto('http://www.google.com/'); await new Promise(resolve => { setTimeout(() => { // user is waiting for an asynchronous event try { resolve(); } catch (err) { // handle error } }, 5000); }); await console.log('end'); }); await cluster.queue(); await cluster.queue(); // many more pages await cluster.idle(); await cluster.close(); })();

the script reaches the 5th iteration and ends ((脚本到达第 5 次迭代并结束 ((

We need to use timeout argument in launching puppeteer.我们需要在启动 puppeteer 时使用 timeout 参数。 Set timeout = 0 to off ones将超时 = 0 设置为关闭

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM