Перевести браузер с конца на передний план? (Selenium Web Driver, Java) - PullRequest
2 голосов
/ 09 декабря 2011

Можно ли как-нибудь перенести браузер сзади наверх (спереди) ??

Ситуация такова, что есть два браузера, Firefox и Chrome.Итак, я создал два драйвера, новый FirefoxDriver () и новый ChromeDriver (), назовем их fdriver и cdriver.

То, что я хочу, это когда программа использует Firefox, браузер Firefox должен быть сверху.И Chrome тоже.Но я застрял, как вывести браузер наверх, когда они находятся сзади.

Я уже пробовал,

Javascript: self.focus () и window.focus ()./ WebDriverBackedSelenium для возврата драйвера к селену и использования windowMaximize и windowFocus

Любая идея приветствуется, спасибо

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

Вы должны быть в состоянии сделать это с

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

и это приведет к тому, что любое окно в фокусе.

2 голосов
/ 15 апреля 2016

Сейчас я не использую селен, но я использую Geb, который является оберткой вокруг селена, поэтому вызов javascript может быть другим для вас, но я так и сделал (должно быть похоже)

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

Я вызвал функцию javascript alert, которая вывела окно на передний план, а затем отклонил предупреждение с помощью webdriver.switchTo().alert().accept().

0 голосов
/ 09 сентября 2016

Робот из 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 () дает вам смещение для используемого в данный момент дисплея.
  • окно должно быть видно
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...