浏览器从后到前? (Selenium Web Driver,Java)

时间:2011-12-08 22:16:11

标签: java javascript selenium webdriver

有什么方法可以把浏览器从后面带到顶部(前面)?

情况是有两个浏览器,firefox和chrome。所以,我实例化了两个驱动程序,新的FirefoxDriver()和新的ChromeDriver(),让我们称之为fdriver和cdriver。

我想要的是当程序使用Firefox时,firefox浏览器应该在顶部。 Chrome也是如此。但是,我很困惑如何将浏览器放在后面的顶部。

我已经尝试了,

Javascript:self.focus()和window.focus()。 / WebDriverBackedSelenium使驱动程序返回selenium并使用windowMaximize和windowFocus

感谢任何想法,谢谢

3 个答案:

答案 0 :(得分:2)

您应该可以使用

执行此操作
driver.SwitchTo().Window("//name of the window");

这将带来您想要关注的任何窗口。

答案 1 :(得分:2)

现在我不使用selenium,但我使用的是Geb,它是selenium的包装,所以调用javascript可能会有所不同,但这就是我做的方式(应该是类似的)

browser.js."alert()"
webdriver.switchTo().alert().accept()

我调用了javascript alert函数,该函数将窗口置于前台,然后我用webdriver.switchTo().alert().accept()解除了警报。

答案 2 :(得分:0)

来自 java.awt;

Robot 可以帮助您:

Robot.mouseMove(webDriver.manage().window().getPosition().getX(),webDriver.manage().window().getPosition().getY());
Robot.mousePress(InputEvent.BUTTON1_MASK);
Robot.mouseRelease(InputEvent.BUTTON1_MASK);

限制:

  • 如果您有多台显示器,则需要计算绝对坐标。作为 webDriver.manage()。window()。getPosition()。getX()当前使用的显示提供偏移量。
  • 窗口应该是可见的
相关问题