跳转到主要内容

Dialog

对话框对象通过页面上的 page.on('dialog') 事件分发。

使用 Dialog 类的示例

const { chromium } = require('playwright');  // Or 'firefox' or '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();
})();
注意

对话框会自动关闭,除非存在 page.on('dialog') 监听器。当监听器存在时,它必须 dialog.accept()dialog.dismiss() 该对话框——否则页面将冻结,等待对话框,并且点击等操作将永远无法完成。


方法

接受

v1.9 之前添加 dialog.accept

当对话框被接受时返回。

用法

await dialog.accept();
await dialog.accept(promptText);

参数

  • promptText 字符串 (可选)#

    要输入到提示框中的文本。如果对话框的 type 不是提示,则不会产生任何效果。可选。

返回


defaultValue

v1.9 之前添加 dialog.defaultValue

如果对话框是提示类型,则返回默认提示值。否则,返回空字符串。

用法

dialog.defaultValue();

返回


dismiss

v1.9 之前添加 dialog.dismiss

当对话框被取消时返回。

用法

await dialog.dismiss();

返回


message

v1.9 之前添加 dialog.message

对话框中显示的消息。

用法

dialog.message();

返回


page

新增于: v1.34 dialog.page

如果可用,此对话框的发起页面。

用法

dialog.page();

返回


type

v1.9 之前添加 dialog.type

返回对话框的类型,可以是 alertbeforeunloadconfirmprompt 之一。

用法

dialog.type();

返回