我正在使用三个火狐驱动程序实例进行自动化。我需要将当前活动的火狐浏览器置于前面,因为我正在使用一些机器人类进行某些操作。我曾在 mac 中尝试过针对 google chrome 的 java 脚本警报(相同的操作)并且工作正常。在 Windows 中使用 user32 lib。对于 Firefox Mac,它会在后台显示警报,但网页不会出现在前面。
((JavascriptExecutor)this.webDriver).executeScript("alert('Test')");
this.webDriver.switchTo().alert().accept();
上面的代码我在 Mac 中用于 chrome。相同的代码正在运行并显示 Firefox 的警报,但窗口没有出现在前面。
请建议是否有其他方法可以在 Firefox 中执行相同的操作。
首先将窗口句柄存储在变量中,然后使用它返回到窗口。
//Store the current window handle
String currentWindowHandle = this.webDriver.getWindowHandle();
//run your javascript and alert code
((JavascriptExecutor)this.webDriver).executeScript("alert('Test')");
this.webDriver.switchTo().alert().accept();
//Switch back to to the window using the handle saved earlier
this.webDriver.switchTo().window(currentWindowHandle);
此外,您可以尝试在切换到窗口后最大化该窗口,这也会激活它。
this.webDriver.manage().window().maximize();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)