将浏览器从后向前移动?(Selenium Web驱动程序,Java)
有什么方法可以让浏览器从后到上(前)吗 情况是有两种浏览器,firefox和chrome。因此,我实例化了两个驱动程序,新的FirefoxDriver()和新的ChromeDriver(),让我们称它们为fdriver和cdriver 我想要的是,当程序使用Firefox时,Firefox浏览器应该位于顶部。铬也是如此。但是,当浏览器位于背面时,我被如何将其置于顶部所困扰 我已经试过了 Javascript:self.focus()和window.focus()。/WebDriverBackedSelenium使驱动程序返回selenium并使用windowMaximize和windowFocus将浏览器从后向前移动?(Selenium Web驱动程序,Java),java,javascript,selenium,webdriver,Java,Javascript,Selenium,Webdriver,有什么方法可以让浏览器从后到上(前)吗 情况是有两种浏览器,firefox和chrome。因此,我实例化了两个驱动程序,新的FirefoxDriver()和新的ChromeDriver(),让我们称它们为fdriver和cdriver 我想要的是,当程序使用Firefox时,Firefox浏览器应该位于顶部。铬也是如此。但是,当浏览器位于背面时,我被如何将其置于顶部所困扰 我已经试过了 Javascript:self.focus()和window.focus()。/WebDriverBacked
任何想法都非常感谢,谢谢你应该可以用
driver.SwitchTo().Window("//name of the window");
这将使您关注任何窗口。现在我不使用selenium,但我使用的是围绕selenium的包装器Geb,因此调用javascript对您来说可能有所不同,但我就是这样做的(应该是类似的) 我调用了javascript
alert
函数,该函数将窗口带到前台,然后我使用webdriver.switchTo().alert().accept()
解除了警报 来自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()提供当前使用的显示的偏移量
- 窗口应该是可见的
Robot.mouseMove(webDriver.manage().window().getPosition().getX(),webDriver.manage().window().getPosition().getY());
Robot.mousePress(InputEvent.BUTTON1_MASK);
Robot.mouseRelease(InputEvent.BUTTON1_MASK);