Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Selenium C“如何处理警报”;打开“选择应用程序”对话框;?_C#_Selenium_Selenium Chromedriver_Alert_Ui Testing - Fatal编程技术网

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

C# Selenium C“如何处理警报”;打开“选择应用程序”对话框;?,c#,selenium,selenium-chromedriver,alert,ui-testing,C#,Selenium,Selenium Chromedriver,Alert,Ui Testing,我正在尝试使用Selenium C#for Chrome获取警报文本 但此警报似乎与普通JavaScript警报不同,使用以下代码会返回错误异常: string text = driver.SwitchTo().Alert().Text; OpenQA.Selenium.NoAlertPresentException:没有此类警报 这是否被视为警报?有办法处理它吗?您看到的对话框显示在操作系统级别,因此您无法在DOM中看到它或使用Selenium与它交互。如果您真的需要处理它,我建议您研究一

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

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

string text = driver.SwitchTo().Alert().Text;
OpenQA.Selenium.NoAlertPresentException:没有此类警报


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

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

对于Java,您可以使用Java AWT包中定义的类,因为它正好用于处理与测试自动化相关的本机输入事件,并且在处理Selenium和dialogs时经常被提及。但是,它在.NET世界中并不存在,因此您需要到其他地方寻找。快速的谷歌搜索给了我一些可能有用的东西:

(通过使用IronPython支持.NET)

此外,您还可以通过以下方式实现更简单的操作:


总而言之。不,它不是您预期的正常警报,是的,您可以处理它,但它需要在Selenium世界之外的一些步骤。

太糟糕了,没有针对.Net的警报,感谢您提供的框架建议。没问题,我希望您能设法解决此问题。我的建议是尽可能避免这种情况。你可以使用AutoIT。这是一个nuget软件包,允许您与Windows对象进行交互。感谢您的提醒@Dazed。我不知道有一个真正的NuGet AutoIT软件包。