I try to write simple web-scraper using puppeteer library.
When I get page by url via page.goto
, I need to retry if it failed, i.e response code is >= 400.
My snippet:
'use strict';
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.setViewport({width: 1024, height: 768});
await page.setDefaultNavigationTimeout(0);
await page.goto('https://google.com');
await browser.close();
process.exit();
})();
I need to implement fail strategy to retry url if response.code
is >= 400.
I need delay beetween attempts equal to retryNumber
* 1000ms:
- 1000 ms for first attempt;
- 2000 ms for second attempt;
- 3000 ms for third attempt and so on.
Promise should be rejected if retryNumber
exceeds maxRetryNumber
.
Who knows how to implement this via code? Are there any ready to use packets or snippets to achieve the goal?