我正在使用Puppeteer提交表单,但我无法弄清楚如何等待响应,因为常规方法不起作用。
提交必须通过在提交按钮上调用click()
而不是调用form.submit()
来完成,此页面上的错误导致我无法控制。因此,这不起作用:
await page.$eval('#form', form => form.submit);
提交表单不会导航到新页面,而是会修改HTML。我也尝试过waitForNavigation
的每个选项,waitUntil
都无效。
我可以尝试其他方法吗?谢谢
答案 0 :(得分:2)
提交表单不会导航到新页面,而是会修改HTML。
在这种情况下,您可以通过page.waitForSelector
等待CSS选择器例如,如果成功提交后在表单上方显示成功消息,则只需等待此CSS选择器出现在dom中即可:
await page.waitForSelector('form div.success');