Javascript 木偶演员等待url
我有无头关闭,我想等待,直到用户重定向到某个页面。我可以使用Puppeter API中的Javascript 木偶演员等待url,javascript,puppeteer,Javascript,Puppeteer,我有无头关闭,我想等待,直到用户重定向到某个页面。我可以使用Puppeter API中的waitForRequest,但我不知道确切的url,它只需要通过一些情况 所以我使用WaitFor函数并检查那个里的情况,但当我重定向到正确的URL时,出于某种原因,我需要刷新页面以传递情况 我的代码是: try { await page.waitForFunction(() => { if(window && window.locatio
waitForRequest
,但我不知道确切的url,它只需要通过一些情况
所以我使用WaitFor函数并检查那个里的情况,但当我重定向到正确的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);
}
当我重定向到传递上述所有信息的URL时,我需要重新加载页面,以查看它是否返回true。为什么会这样?我不希望用户在输入正确的页面后被迫刷新页面
我有无头关闭,我想等待,直到用户重定向到某个页面
就用吧
结合单击确保使用:
waitForNavigation
还返回一个响应对象,然后您可以检查该对象
我可以从Puppeter API使用waitForRequest,但我不知道确切的url,它只需要通过一些情况
在本例中,Puppeter将请求作为参数注入,您可以在lambda函数中测试这一点。例如:
page.waitForRequest(request => {
return request.url().includes('margonem') && request.method() === 'GET'
})
有时我们需要等到我们到达一个特定的URL
最好的处理方法是
let holdProgress = true;
while (holdProgress) {
await page.waitFor(300);
if (page.url().includes('/env-selector')) {
holdProgress = false;
}
}
但是waitForNavigation只能加载load、domcontentloaded、networkidle0、networkidle2
我想等待URL,它将从我的函数中每次if传递。你读过我的问题吗?你写道:“我想等到用户重定向到某个页面。”在本例中,使用waitForNavigation。但为了澄清你的另一个问题,我更新了我的答案。希望这有帮助。是的,但在那之后我指定了它必须是什么URL。无论如何,我不知道您可以将函数传递给waitForRequest。我想这会解决我的问题。给我一点时间试试
let holdProgress = true;
while (holdProgress) {
await page.waitFor(300);
if (page.url().includes('/env-selector')) {
holdProgress = false;
}
}