我已经关闭了无头模式,并且希望等待用户重定向到某个页面。我可以使用 puppeteer API 的 waitForRequest
,但我不知道确切的 URL,只需要通过一些条件即可。
因此,我使用 waitForFunction
并在那里检查条件,但当我重定向到正确的 URL 时,由于某些原因我需要刷新页面才能通过这些条件。
我的代码如下:
try {
await page.waitForFunction(() => {
if(window &&
window.location &&
window.location.hostname) {
const host = window.location.hostname.split('.');
if(!host.includes('www') &&
!host.includes('new') &&
host.includes('margonem') &&
host.length === 3) {
return true;
}
}
}, {
polling: 200,
timeout: 0
})
} catch (e) {
console.log(e);
}
当我重定向到传递以上所有 if 语句的 URL 时,我需要重新加载页面才能实际看到它返回 true。为什么会出现这种情况呢?我不想让用户在输入正确信息后被强制刷新页面。
load,domcontentloaded,networkidle0,networkidle2
,我想等待URL通过我的函数中的每个if。你读懂我的问题了吗? - BT101