Selenium C#如何处理警报“打开选择应用程序”?

问题描述 投票:1回答:1

我正在尝试使用Selenium C#for Chrome获取Alert的文本

enter image description here

但是此警报似乎与普通JavaScript警报不同,使用下面的代码返回错误异常:

string text = driver.SwitchTo().Alert().Text;

OpenQA.Selenium.NoAlertPresentException:没有这样的警报

这被视为警报吗?有办法处理吗?

c# selenium selenium-chromedriver alert ui-testing
1个回答
2
投票

您正在看到的对话框显示在操作系统级别上,因此您无法在DOM中查看该对话框或使用Selenium与其进行交互。如果你真的需要处理它,我建议你研究一个操作系统级的自动化工具,它可以发送键或鼠标事件来以你需要的方式处理对话。

使用Java,您可以使用Java AWT包中定义的Robot类,因为它意味着处理与测试自动化相关的本机输入事件,并且在处理Selenium和对话时经常被引用。但是,它在.NET世界中不存在,因此您需要查看其他地方。快速谷歌搜索给了我一些可能有帮助的东西:

Robot Framework(使用IronPython支持.NET)

此外,您可以使用以下内容更简单地执行此操作:

GlobalMouseKeyHook

所以,总结一下。不,它不像你期望的那样是正常的警报,是的,你可以处理它,但它需要在Selenium世界之外的一些步骤。

© www.soinside.com 2019 - 2024. All rights reserved.