使用自动IT脚本处理基于Windows的弹出窗口后,Selenium脚本失败

时间:2018-09-28 10:30:43

标签: c# selenium firefox selenium-webdriver autoit

我有一个网站,该网站通过“身份验证窗口”弹出窗口提示输入用户名和密码。因此,我依靠AutoIt来处理弹出窗口,并且可以正常工作(输入用户名和密码)。

一旦验证了凭据,我的网站主页就会在10到15秒的时间间隔内打开。

这是我在做什么:

[ApiExplorerSettings(IgnoreApi=true)]
public class MyController : ApiController

例外1:

enter image description here

然后我添加了Thread.Sleep(20000);在Process.Start()之后;这给了我一个新的例外。

例外2: enter image description here

我正在使用FireFox v62和最新的firefox驱动程序。 AutoIT v 3.3.14.5

能帮我找到解决方法吗? 预先感谢。

1 个答案:

答案 0 :(得分:0)

使Web浏览器发出警报,以便Web浏览器在处理身份验证弹出窗口后成为焦点。

代码更改:

Process.Start(@"C:\Users\Documents\AutoIt Scripts\Authentication_FireFox.exe");
Thread.Sleep(30000);
((IJavaScriptExecutor)d).ExecuteScript("alert('Test')");
d.SwitchTo().Alert().Accept();
d.FindElement(By.XPath("//span[@title='Start search']")).Click(); // now this element is getting clicked.