繁体   English   中英

带来浏览器从头到尾? (Selenium Web驱动程序,Java)

[英]Bring browser from back to front? (Selenium Web Driver, Java)

有什么办法可以使浏览器从后到顶部(前)?

情况是有两种浏览器,firefox和chrome。 因此,我实例化了两个驱动程序,新的FirefoxDriver()和新的ChromeDriver(),我们将它们称为fdriver和cdriver。

我想要的是当程序使用Firefox时,firefox浏览器应该位于顶部。 Chrome也是如此。 但是,我被困在如何将浏览器置于背面的情况下使其位于顶部。

我已经尝试过了

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

任何想法表示赞赏,谢谢

您应该能够做到这一点

driver.SwitchTo().Window("//name of the window");

这将使您想要聚焦的任何窗口。

现在我不使用硒,但我使用的是Geb,它是硒的包装材料,因此调用javascript对您来说可能有所不同,但这就是我的做法(应该类似)

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

我调用了javascript alert功能,该功能将窗口置于前台,然后使用webdriver.switchTo().alert().accept()消除了警报。

来自java.awt的 机器人 可以帮助您:

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()为您提供了当前使用的显示的偏移量。
  • 窗口应该可见

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM