const browser = require('../browser'); module.exports = async ({ timeout = 15000 }) => { await browser.start(); const p = await browser.ensurePage(); const oldUrl = p.url(); try { await Promise.race([ p.waitForNavigation({ timeout, waitUntil: 'domcontentloaded' }), p.waitForLoadState('domcontentloaded', { timeout }) ]); } catch (e) { } const newUrl = p.url(); return { success: true, action: "smart_wait_navigation", oldUrl, newUrl, changed: oldUrl !== newUrl }; };