【问题标题】:Accept a Dialog with Playwright Sharp接受与剧作家夏普的对话
【发布时间】:2021-04-09 18:15:10
【问题描述】:

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

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

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

在 Playwright Sharp 中有类似的方法吗?

【问题讨论】:

    标签: c# playwright-sharp


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      // 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;
      

      你可以找到 playwright-sharp 页面对话单元测试here 并尝试弄清楚如何使用它。

      【讨论】:

        猜你喜欢
        • 2021-08-18
        • 2021-01-01
        • 2021-09-14
        • 2022-07-20
        • 2020-06-15
        • 2023-02-26
        • 2021-02-19
        • 2021-08-02
        • 2022-12-06
        相关资源
        最近更新 更多