Selênio não detectando a segunda janela no IE
Meu aplicativo abre uma nova janela ao clicar em um botão e preciso executar algumas ações nessa janela. Mas a resposta do método getWindowHandles () do selenium webdriver possui apenas uma identificação de janela. Isso acontece especialmente se houver um atraso na chamada de getWindowHandles () após abrir a nova janela. Há um problema conhecido com selênio.https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration
Mas mesmo a solução para isso não está funcionando para mim.
O código é o seguinte
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
RemoteWebDriver driver = new
RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
driver.get("https://<url>");
WebElement userName = driver.findElement(By.name("usr_name"));
userName.sendKeys("ABCD");
WebElement password = driver.findElement(By.name("usr_password"));
password.sendKeys("password");
WebElement login = driver.findElement(By.name("OK"));
login.click();
WebElement popup= driver.findElement(By.name("popup"));
popup.click();
Thread.sleep(1000);
Set<String> windowHandles = driver.getWindowHandles();
System.out.println(windowHandles);
O conjunto "windowHandles"retornará apenas uma janela:
"[fcdad457-9090-4dfd-8da1-acb9d6f73f74]"
Mas se eu remover o sono. retornará dois IDs de janela:
[90cc6006-0679-450c-a5b3-6602bcb41a16, 7211bbfd-2616-4460-97e7-56c0e632c3bb]
Não consigo remover o sono, pois este é apenas um programa de amostra e, no aplicativo real, haverá algum atraso no meio. Por favor, deixe-me saber seus pensamentos.Este problema é apenas para o IE11.
Tela azul - Página inicial; Tela cinza - pop-up