接受与剧作家夏普的对话

问题描述

如何使用 Playwright Sharp 接受如下对话?

Confirm Dialog

我似乎在 Playwright Sharp 的文档中找不到任何内容,但是 Playwright 的 (JS) 文档描述了如何为对话框添加事件处理程序:

page.on('dialog',dialog => dialog.accept());

Playwright Sharp 有类似的方法吗?

解决方法

page.Dialog 在对话框事件出现时触发它们,只需向其注册一个事件处理程序,如下所示:

page.Dialog += (_,x) => x.Dialog.AcceptAsync();

,

您可以为对话动作和超时预设 page.WaitForEventAsync,默认超时为 30 秒。 当对话框激活时,将触发您的预设动作并等待超时以继续其余代码。

// Preset dialog react
var dialogTask = page.WaitForEventAsync(PageEvent.Dialog,args =>
{
    args.Dialog.DismissAsync();
    return true;
},1000);

// Activate alert dialog
await Page.EvaluateAsync("alert('yo');");

await dialogTask;

您可以找到剧作家敏锐的页面对话单元测试 here 并尝试弄清楚如何使用它。