Fórum Configurar WebDriver para abrir nova url na mesma guia #537056
12/11/2015
0
Pessoal,
Eu estou aprendendo automação com Java Selenium Web Driver e tenho uma dúvida.
Após fazer o login minha automação chama uma nova URL (selenium.open). Porém essa URL é aberta em uma nova guia e ai o próximo passo que seria clicar em um radiobutton na pagina nova, se perde.. creio que é porque ele ainda tenta achar esse elemento na página anterior e não na nova que se abriu.
Como posso resolver esse problema? Tem algum comando para abrir essa URL na mesma pagina/guia ? Ou tem uma outra maneira de resolver isso?
Obrigada,
Eu estou aprendendo automação com Java Selenium Web Driver e tenho uma dúvida.
Após fazer o login minha automação chama uma nova URL (selenium.open). Porém essa URL é aberta em uma nova guia e ai o próximo passo que seria clicar em um radiobutton na pagina nova, se perde.. creio que é porque ele ainda tenta achar esse elemento na página anterior e não na nova que se abriu.
Como posso resolver esse problema? Tem algum comando para abrir essa URL na mesma pagina/guia ? Ou tem uma outra maneira de resolver isso?
Obrigada,
Talitha
Curtir tópico
+ 0
Responder
Posts
03/11/2016
álvaro Vieira
Estou começando ainda com webdriver mas consegui em um outro link a resposta que está separado passo a passo:
// Armazenar o identificador de janela atual
// Execute a operação de clique que abre uma nova janela
// Mudar para a nova janela aberta
// Executar as ações em uma nova janela normalmente
...
// Feche a nova janela, se essa janela não for mais necessária
// Voltar ao navegador original (primeira janela)
// Continuar com o navegador original se quiser(primeira janela)
"http://stackoverflow.com/questions/9588827/how-to-switch-to-the-new-browser-window-which-opens-after-click-on-the-button"
// Armazenar o identificador de janela atual
String winHandleBefore = driver.getWindowHandle();
// Execute a operação de clique que abre uma nova janela
driver.get("http://www.google.com");// Mudar para a nova janela aberta
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}// Executar as ações em uma nova janela normalmente
driver.findElement(By.xpath("//input[@id='submit']")).click();...
// Feche a nova janela, se essa janela não for mais necessária
driver.close();
// Voltar ao navegador original (primeira janela)
driver.switchTo().window(winHandleBefore);
// Continuar com o navegador original se quiser(primeira janela)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)