Puppeteer wait page load after form submit

redochka picture redochka · Oct 26, 2017 · Viewed 91.4k times · Source

I submit a form using the following code and i want Puppeteer to wait page load after form submit.

await page.click("button[type=submit]");

//how to wait until the new page loads before taking screenshot?
// i don't want this:
// await page.waitFor(1*1000);  //← unwanted workaround
await page.screenshot({path: 'example.png'});

How to wait for page load with puppeteer?

Answer

Md. Abu Taher picture Md. Abu Taher · Oct 27, 2017

You can wait for navigation asynchronously to avoid getting null on redirection,

await Promise.all([
      page.click("button[type=submit]"),
      page.waitForNavigation({ waitUntil: 'networkidle0' }),
]);

This will help you if the page.click already triggers a navigation.