使用Selenium Webdriver C#关闭弹出对话框

时间:2013-08-21 15:30:59

标签: c# selenium web selenium-webdriver

我正在使用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();

但这也不起作用。
该框有两个按钮,OK和取消,OK按钮已经突出显示,所以如果有办法可以做这样的事情:

driver.sendKeys(return);

但是驱动程序没有sendKeys命令来自行调用。

1 个答案:

答案 0 :(得分:1)

driver.SwitchTo().Alert().Accept();

应该能够处理您描述的对话框类型。我已经能够将它用于任何我不得不遇到的对话,所以它的效果非常好。我也读过关于使用IAlert但是因为我从来不需要使用它,我不知道它的工作原理有多好,但是如果我的解决方案对你不起作用,也许可以考虑一下。