使用Selenium Java(Mac OSX)将Firefox浏览器置于最前面

我正在使用三个firefox驱动程序实例进行自动化。我需要将当前活动的firefox浏览器置于最前面,因为我正在使用一些robo类来进行某些操作。我曾在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();

以上是 使用Selenium Java(Mac OSX)将Firefox浏览器置于最前面 的全部内容, 来源链接: utcz.com/qa/425614.html

回到顶部