在使用 Perfecto 在 Win 10 中处理 IE 11 浏览器时,我将让您知道我现在面临的问题的确切情况。
场景:网页有一个框架,而该框架又具有一个包含大量数据的表。其中一个数据恰好是“删除”链接,单击它后,我会弹出“您确定吗?” 带有是或否按钮。
driver.switchTo().frame(frameID);
挑战:driver.switchTo().Alert()
无法在 Windows 10 - Perfecto 中的 IE11 浏览器中运行,而在相同操作系统组合的 Chrome 浏览器中运行:
尝试的解决方案:1)
((JavaScriptExecutor)driver).executeScript("window.confirm=function(){return true;}");
以及 javaScriptExecutor 中的许多此类跟踪和错误方法。
面临的错误:由于“驱动程序”实例在 Frame 内,当我们执行 window.confirm 或 window.alert 时,我面临 NullPointerException。
2) 使用 Robot 类作为盲 ENTER 键。
Robot rb = new Robot();
rb.delay(2000);
rb.pressKey(KeyEvent.VK_ENTER);
rb.releaseKey(KeyEvent.VK_ENTER);
面临的错误:不起作用。弹出窗口就在那里。
3)driver.switchTo().defaultContent()
面临错误 - 关闭弹出窗口并控制进入网页而不删除不是功能的记录。
4)driver.switchTo().ActiveElement()
面临的错误:抛出 WebDriverException。
请帮助提供解决方案。在此处输入图像描述
注意:同一段代码适用于 chrome 浏览器。在 Perfecto 中运行时,IE11 存在问题。