Если окно браузера не находится в фокусе, все идентификаторы webdriver на текущей странице не работают.Убедитесь, что браузер открыт webdriver всегда в фокусе
Как браузер может быть сфокусирован, используя webdriver?
Если окно браузера не находится в фокусе, все идентификаторы webdriver на текущей странице не работают.Убедитесь, что браузер открыт webdriver всегда в фокусе
Как браузер может быть сфокусирован, используя webdriver?
executeScript("window.focus();")
не работает для меня в последней Chrome (V47 во время этого поста)
Однако я нашел хак в another question который делает работу в этой версии Chrome.
Общие шаги, так как этот вопрос не определяет язык селеном API:
Внедрение в webdriverjs
, который я с использованием
const chrome = setupChromeWebdriver(); // get your webdriver here
chrome.executeScript('alert("Focus window")'))
.then(() => chrome.switchTo().alert().accept());
Selenium 3.0 ta kes this:
((IJavaScriptExecutor)po.WebDriver).ExecuteScript("window.focus();");
Это не означает, что окно браузера будет получать фактический фокус, то есть не гарантирует, что окно браузера будет активным на уровне ОС; бывают случаи, когда это вызовет только сообщение «внимание» уровня ОС. – cprn
Это работает для меня. После кода, который открывает браузер, введите этот фрагмент:
String window = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("alert('Test')");
driver.switchTo().alert().accept();
driver.switchTo().window(window);
Какой браузер? Firefox, IE, Chrome? –
Почему бы не обратить внимание на экземпляр? Если вы пытаетесь нормально работать на компьютере, на котором выполняются тесты, то да, это не сработает, так как Selenium использует собственную клавиатуру ОС и нажимает инструкции, на которые вы будете вмешиваться. Иногда, ['driver.switchTo() .defaultContent()'] (http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebDriver.TargetLocator.html#defaultContent% 28% 29) (и/или 'switchTo(). ActiveElement()') помогает - в основном на IE. Каков ваш прецедент? –