简体   繁体   中英

Puppeteer-cluster close browsers itself

I use 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 ((

We need to use timeout argument in launching puppeteer. Set timeout = 0 to off ones

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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