27 lines
531 B
JavaScript
27 lines
531 B
JavaScript
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
|
|
};
|
|
};
|