如何使用Puppeteer确认警告弹出窗口

7

我点击了一个包含确认对话框的链接,但无法关闭。

我尝试按“Enter”键并使用Puppeteer方法来关闭或接受对话框,但什么也没发生。

链接:

<a onclick="return confirm('Yes?');" id="link" href="google.com">

我尝试了:

page.on('dialog', async dialog => {
    console.log('here'); //does not pass
    await dialog.accept();
    //await dialog.dismiss();
});

并且

await page.keyboard.press('Enter');
await page.keyboard.press(String.fromCharCode(13));

你在点击链接之前是否已经附加到该事件? - hardkoded
我不确定我理解了.. 怎么附加? - ziad.ali
1
你是否在点击链接之前调用了 page.on - hardkoded
2
我不知道那个。它奏效了,哈哈。你想把这个作为答案,这样我就可以接受了吗?谢谢。 - ziad.ali
1个回答

15

在点击链接之前,确保您开始监听dialog事件。可以像这样:

page.on('dialog', async dialog => {
  console.log('here');
  await dialog.accept();
});

await page.click('a');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接