我正在尝试使用Selenium C#for Chrome获取Alert的文本
但是此警报似乎与普通JavaScript警报不同,使用下面的代码返回错误异常:
string text = driver.SwitchTo().Alert().Text;
OpenQA.Selenium.NoAlertPresentException:没有这样的警报
这被视为警报吗?有办法处理吗?
您正在看到的对话框显示在操作系统级别上,因此您无法在DOM中查看该对话框或使用Selenium与其进行交互。如果你真的需要处理它,我建议你研究一个操作系统级的自动化工具,它可以发送键或鼠标事件来以你需要的方式处理对话。
使用Java,您可以使用Java AWT包中定义的Robot类,因为它意味着处理与测试自动化相关的本机输入事件,并且在处理Selenium和对话时经常被引用。但是,它在.NET世界中不存在,因此您需要查看其他地方。快速谷歌搜索给了我一些可能有帮助的东西:
Robot Framework(使用IronPython支持.NET)
此外,您可以使用以下内容更简单地执行此操作:
所以,总结一下。不,它不像你期望的那样是正常的警报,是的,你可以处理它,但它需要在Selenium世界之外的一些步骤。