我正在使用 Selenium 来模拟用户来自动化一些遗留软件。该软件仅适用于 IE6(我在兼容模式下使用 IE11)并且有点糟糕。
软件中有一个点会出现“Windows 安全”对话框。在用户/模拟器可以继续操作之前,这需要凭据。
我在用着IAlert.SetAuthenticationCredentials
尝试填充对话框,但这似乎不起作用。接下来,我可以手动输入详细信息,但 Selenium 似乎认为主浏览器窗口已关闭:
当前聚焦窗口已关闭。
The WindowHandles
此时集合是空的,但浏览器窗口仍然打开,并且已经呈现了正确的页面。
这里发生了什么?
UPDATE
提供的答案是有关如何处理该对话框的建议。我想知道为什么 Selenium 认为浏览器窗口已关闭,而实际上它仍然在那里。
无法通过以下方式与本机窗口交互selenium
。处理你的问题的方法是例如使用类似的Robot
在爪哇。既然你正在使用C#
这里有一个模拟器https://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library https://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library.
示例代码如下:
// Simulate (Ctrl + C) shortcut, which is copy for most applications
KeyboardSimulator.SimulateStandardShortcut(StandardShortcut.Copy);
// This does the same as above
KeyboardSimulator.KeyDown(Keys.Control);
KeyboardSimulator.KeyPress(Keys.C);
KeyboardSimulator.KeyUp(Keys.Control);
还有鼠标模拟器,因此使用此框架可以在窗口中输入所需的值并接受它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)