3 回答
![?](http://img1.sycdn.imooc.com/545862120001766302200220-100-100.jpg)
TA贡献1802条经验 获得超6个赞
我没有头,我想等到用户重定向到某个页面。
只需使用waitForNavigation()。
结合click确保您使用此模式:
const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);
waitForNavigation 还返回一个您可以检查的响应对象
我可以使用 puppeteer API 中的 waitForRequest 但我不知道确切的 url 它只是必须通过少数情况。
在这种情况下,puppeteer 将请求作为参数注入,您可以在 lambda 函数中对其进行测试。例如:
page.waitForRequest(request => {
return request.url().includes('margonem') && request.method() === 'GET'
})
![?](http://img1.sycdn.imooc.com/5458620000018a2602200220-100-100.jpg)
TA贡献1744条经验 获得超4个赞
有时我们需要等到我们到达特定的 URL。
处理它的最好方法是
let holdProgress = true;
while (holdProgress) {
await page.waitFor(300);
if (page.url().includes('/env-selector')) {
holdProgress = false;
}
}
![?](http://img1.sycdn.imooc.com/5859e2d50001f6bb01000100-100-100.jpg)
TA贡献1818条经验 获得超7个赞
我发现的最简单的方法是使用 waitForFunction,它很容易修改以适应您的规格以及紧凑。
await page.waitForFunction("window.location.pathname == '/Welcome.aspx'")
添加回答
举报