Skip to main content

Dialog

Dialog 对象可以通过 page.on('dialog') 事件在页面上被捕获。

Dialog 使用示例:

const { chromium } = require('playwright');  // 也可以是 'firefox' 或 'webkit'

(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
page.on('dialog', async dialog => {
console.log(dialog.message());
await dialog.dismiss();
});
await page.evaluate(() => alert('1'));
await browser.close();
})();
note

如果没有监听 page.on('dialog'),对话框会被自动关闭。一旦注册了监听器,就必须调用 dialog.accept([promptText])dialog.dismiss()。否则页面会 停在事件循环中等待对话框,像 click 这样的操作将无法完成。

dialog.accept([promptText])

Added in: v1.8
  • promptText? <string> 若对话框类型为 prompt,在提示框中填入的文本内容;其余类型下不会生效,可选。#
  • returns: <Promise<void>>#

当对话框被接受时解析。

dialog.defaultValue()

Added in: v1.8

如果对话框是 prompt,则返回默认提示文本;否则返回空字符串。

dialog.dismiss()

Added in: v1.8

当对话框被关闭时解析。

dialog.message()

Added in: v1.8

返回对话框内显示的文本。

dialog.type()

Added in: v1.8

返回对话框类型,可能是 alertbeforeunloadconfirmprompt