使用Selenium Web驱动程序C#关闭弹出对话框

本文关键字:对话框 Selenium Web 驱动程序 使用 | 更新日期: 2023-09-27 18:28:26

我正在为我们的网站使用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和cancel,OK按钮已经高亮显示,所以如果有办法这样做:

driver.sendKeys(return);

但驱动程序本身并没有可调用的sendKeys命令。

使用Selenium Web驱动程序C#关闭弹出对话框

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

它应该能够处理您所描述的对话框类型。我已经能够在遇到的任何对话中使用它,所以它运行得很好。我也读过关于使用IAlert的文章,但由于我从未需要使用它,我不知道它的效果如何,但如果我的解决方案不适合你,也许可以研究一下。