2017-10-26 15 views
4

私は次のコードを使用してフォームを送信し、フォーム送信後にPuppeteerがページの読み込みを待機するようにします。Puppeteer待機ページのロード後にフォーム提出

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'}); 

人形でページを読み込む方法を教えてください。

答えて

1
await page.waitForNavigation(); 
3

あなたはpage.clickが既にナビゲーションをトリガーする場合、これはあなたを助ける

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

、リダイレクトにnullを避けるために非同期的にナビゲーションを待つことができます。

+0

'networkidle'は今、私は私の答えを掲示した後、彼らは彼らのドキュメントを更新しました' networkidle2' https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagewaitfornavigationoptions – ryannjohnson

+1

に設定するべきです。 :D –

関連する問題