【问题标题】:Close a Popup Dialog Box with Selenium Webdriver C#使用 Selenium Webdriver C# 关闭弹出对话框
【发布时间】:2013-08-21 15:30:58
【问题描述】:

我正在为我们的网站使用 C# 编写测试。在线删除记录时,会出现一个弹出对话框,基本上要求用户确认。通常我可以通过右键单击来检查一个元素,但是当这个对话框打开时,无论是在对话框中还是在对话框之外,都无法选择任何内容。当我尝试使用 IDE 查看它如何处理弹出对话框时,它给出了以下命令:

Assert.IsTrue(Regex.IsMatch(CloseAlertAndGetItsText(), "^Are you sure you want to delete this batch[\\s\\S](\n|\r\n)All claims in this batch will be permanently deleted\\.(\n|\r\n)This action cannot be undone\\.$"));

那没用,所以我也试过了:

CloseAlertAndGetItsText();

但这也没有用。
该框有两个按钮,确定和取消,确定按钮已经突出显示,所以如果有办法只做这样的事情:

driver.sendKeys(return);

但驱动程序没有可自行调用的 sendKeys 命令。

【问题讨论】:

  • 它是标准的 Javascript 弹出窗口吗?它是一个全新的窗口吗?它是如何创建的?

标签: c# selenium web selenium-webdriver


【解决方案1】:
driver.SwitchTo().Alert().Accept();

这应该能够处理您所描述的对话框类型。我已经能够将它用于我必须遇到的任何对话,所以它工作得很好。我也阅读过有关使用 IAlert 的信息,但由于我从来不需要使用它,所以我不知道它的效果如何,但如果我的解决方案对您不起作用,也许可以考虑一下。

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    相关资源
    最近更新 更多