0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

puppeteerでポップアップタブがロードし終わるのを待つ

Last updated at Posted at 2022-01-01

はじめに

本質的には解決していません。私が利用している範囲ではこれ十分だったので記事にしました。
解決策をご存じの方は是非コメントをお願いします。

問題

puppeteerを利用していてリンクをクリックした際にポップアップするタブがロードし終わるまで待ちたいのに待ってくれません。
スタックオーバーフローの質問 に対する2回答を参考に実装しても、前者はロードを待ってくれず、後者は移動先のセレクターを指定しなければいけません(これは使い回し辛い!)

解決方法

const [popup] = await Promise.all([
    new Promise((resolve) => page.once('popup', resolve)),
    page.click(selector)
]);

const popup_page = popup as Page;
await popup_page.reload({waitUntil: 'networkidle0'}); // waitUntilはそれぞれでご指定ください
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?