From 9418b3eb65038d64ce37cc3609b2c404acfb350a Mon Sep 17 00:00:00 2001 From: simone-amadio-acn Date: Thu, 21 Mar 2024 14:27:21 +0100 Subject: [PATCH 1/2] feat: add timeout in button click wait for navigation --- src/utils/municipality/utils.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/utils/municipality/utils.ts b/src/utils/municipality/utils.ts index 8690e746..97b0ff43 100644 --- a/src/utils/municipality/utils.ts +++ b/src/utils/municipality/utils.ts @@ -356,9 +356,12 @@ const getRandomThirdLevelPagesUrl = async ( continue; } - await page.waitForNetworkIdle({ - idleTime: 1000, - }); + await Promise.race([ + new Promise((resolve) => setTimeout(resolve, 10000)), + page.waitForNetworkIdle({ + idleTime: 1000, + }), + ]); const currentCountPages = (await page.$$(linkDataElement)).length; if (currentCountPages === maxCountPages) { From f81639c2c63511991556dddb9de027617defe573 Mon Sep 17 00:00:00 2001 From: Nicola Squartini Date: Fri, 22 Mar 2024 17:09:03 +0100 Subject: [PATCH 2/2] fix: use setTimeout promis --- src/utils/municipality/utils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/utils/municipality/utils.ts b/src/utils/municipality/utils.ts index 97b0ff43..9c05e41a 100644 --- a/src/utils/municipality/utils.ts +++ b/src/utils/municipality/utils.ts @@ -2,6 +2,8 @@ import * as cheerio from "cheerio"; import { CheerioAPI } from "cheerio"; import puppeteer from "puppeteer"; +import { setTimeout } from "timers/promises"; + import { customPrimaryMenuItemsDataElement, customSecondaryMenuItemsDataElement, @@ -357,7 +359,7 @@ const getRandomThirdLevelPagesUrl = async ( } await Promise.race([ - new Promise((resolve) => setTimeout(resolve, 10000)), + setTimeout(10000), page.waitForNetworkIdle({ idleTime: 1000, }),