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当对话框被接受时解析。
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返回对话框类型,可能是 alert、beforeunload、confirm 或 prompt。