Приведение браузера в фокусе при параллельном выполнении селена - PullRequest
1 голос
/ 26 мая 2019

Можем ли мы сделать так, чтобы один конкретный сеанс браузера выдвигался на передний план / фокус при параллельном выполнении селена?У меня есть требование выполнить действие клавиатуры, нажав клавишу ввода, используя класс робота для обработки опции оплаты Google в Chrome.А действия клавиш робота работают только тогда, когда браузер находится в фокусе / лицевой стороне.

Пробовал с ((JavascriptExecutor) driver).executeScript("window.focus();");, но без эффекта.

Кроме того, пробовал с sikuli и имел то же самоепроблема с sikuli, так как он также должен быть в фокусе браузера. НЕ собирается использовать Autoit , поскольку наш проект должен работать как на Windows, так и на MAC.

Ваша помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

НЕ собирается использовать альтернативу Autoit

Попробуйте UI Vision , она похожа на AutoIT / Sikuli, но кроссплатформенная.Так что это работает и на Mac.

Команда xtype плюс команда BringBrowserToForeground должны работать для вас.

XType | ${KEY_ENTER} аналогичен отправке ключей AutoIT, а BringBrowserToForeground гарантирует, что браузер находится на переднем плане.Поддерживаются браузеры Chrome и Firefox.

0 голосов
/ 26 мая 2019

Вы можете отправить ключи (Alt + Tab), чтобы переключиться на текущий сеанс браузера, так как это было только окно в фокусе, а затем перешло в состояние не фокусироваться на.Вот пример кода на Java

Actions action = new Actions(driver);
action.sendKeys(Keys.chord(Keys.ALT, Keys.ENTER)).build().perform();
...