跳到主要内容

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();
})();

:::注意 除非有 page.on('dialog') 监听器,否则对话框会自动关闭。当存在监听器时,必须调用 dialog.accept()dialog.dismiss() 来处理对话框 - 否则页面会冻结等待对话框响应,点击等操作将永远无法完成。 :::


方法

accept

v1.9 之前版本添加 dialog.accept

当对话框被接受时返回。

用法

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

参数

  • promptText string (可选)#

    要在提示框中输入的文本。如果对话框类型不是 prompt 则不会产生任何效果。可选。

返回


defaultValue

Added before v1.9 dialog.defaultValue

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

用法

dialog.defaultValue();

返回值


dismiss

Added before v1.9 dialog.dismiss

当对话框被关闭时返回。

用法

await dialog.dismiss();

返回值


message

Added before v1.9 dialog.message

对话框中显示的消息内容。

用法

dialog.message();

返回值


page

Added in: v1.34 dialog.page

触发此对话框的页面对象(如果可用)。

用法

dialog.page();

返回值


type

v1.9 之前添加 dialog.type

返回对话框的类型,可能是以下之一:alertbeforeunloadconfirmprompt

用法

dialog.type();

返回值