Hiroto's diary

プログラミングとか色々

Puppeteer で target="_blank" が開くのを待つ

Puppeteer で target="_blank"<a>要素をクリックして新しいページが開くのを待つ方法.

browser.once('targetcreated', target => resolve(target.page())) でやる方法が出てくるけど, newPagenull になって上手く行かなかったので, 色々試した結果上手くいった方法. Puppeteer のバージョンは v5.2.1 .

import { Page } from 'puppeteer';

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

© 2015 hiroxto