const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); let openedAt = null; let redirectedAt = null; let endedAt = null; // Promise to track when a redirect happens let redirectPromise = new Promise(resolve => { page.on('response', response => { const status = response.status(); const request = response.request(); if (status >= 300 && status < 400) { const location = response.headers()['location']; if (location) { redirectedAt = new Date(); console.log(`Redirected at: ${redirectedAt.toISOString()} - ${request.url()} → ${location}`); resolve(); // Resolves the promise when the first redirect occurs } } }); });