動作検証環境
Puppeteer 1.1.1
コード
const puppeteer = require('puppeteer');
const assert = require('assert');
(async () => {
// 中略
await page.once('dialog', async dialog => {
console.log(dialog.message());
assert.equal(dialog.message(), '一回目だよ')
// OK後のアラートを設定
await page.once('dialog', async dialog => {
console.log(dialog.message());
assert.equal(dialog.message(), '二回目だよ')
await dialog.accept();
})
await dialog.accept();
});
await page.click('#ダイアログを起こすclickイベントがある要素');
})();
ダメな例
await page.once(/**/);
await page.click(/**/);
await page.once(/**/);
実行速度にもよるだろうが、最初のdialogに両方のイベントが引っ掛かった。