我正在使用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命令自己调用。
最佳答案
driver.SwitchTo().Alert().Accept();
那应该能够处理您正在描述的对话框的类型。我已经可以将其用于遇到的所有对话框,因此效果很好。我也读过有关使用IAlert的信息,但是由于我从来不需要使用它,所以我不知道它的效果如何,但是如果我的解决方案对您不起作用,也许可以考虑一下。