Estou com um problema ao utilizar o Selenium WebDriver, ao acessar uma página web e efetuar o Login é aberto uma segunda página, e então o Selenium WebDriver perde o controle dessa nova página. Alguém pode me ajudar?
Segue o código:
public void deveAcessarPaginal()
{
driver.get("https://URLPagina.com");
driver.findElement(By.linkText("Continuar neste site (não recomendado)."))
.click();
}
public void deveLogar(String usuarioTexto, String senhaTexto) {
WebElement usuario = driver.findElement(By.name("usuario"));
usuario.sendKeys(usuarioTexto);
WebElement senha = driver.findElement(By.name("senha"));
senha.sendKeys(senhaTexto);
// Clica no botão confirmar do login
driver.findElement(By.xpath("//tr[4]/td/a/img"))
.click();
/*
* Nesse momento abre uma outra página e então o Selenium
* não controla mais o navegador.
*/
// A nova página abre com a mensagem:
// "Continuar neste site (não recomendado)"
driver.findElement(By.xpath("Continuar neste site (não recomendado)."))
.click();
}
Opa Beleza?
Uma vez fiz um seminário na faculdade sobre Selenium e fiz uma demonstração utilizando ele,
fiz dessa forma:
package AplicationSelenium;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumFirefox {
public static void main (String args[]){
WebDriver entrar = new FirefoxDriver();
entrar.get("https://www.google.com.br/");
WebElement buscar = entrar.findElement(By.name("q"));
buscar.sendKeys("Faculdade Rio Branco");
entrar.get("https://www.google.com.br/");
entrar.get("https://www.google.com.br/");
entrar.get("https://www.google.com.br/");
// login_username é o nome do campo na pagina que você quer fazer login
WebElement wRA = entrar.findElement(By.id("login_username"));
wRA.sendKeys("123456");
// login_password é o nome do campo na pagina onde coloca senha
WebElement wSenha = entrar.findElement(By.id("login_password"));
wSenha.sendKeys("abc123");
wSenha.submit();
}
}
Pesssoal, obrigado pelas dicas, mas infelizmente não deu certo.
No momento que o selenium faz o login na aplicação, abre uma outra execução do navegador, nesse momento acho que selenium perde o controle do navegador.
Olá DarkNei, estou enfrentando o mesmo problema, informar as credencias para logar o sistema não continua o fluxo e abre uma segunda instancia do sistema, como você conseguiu contorna essa situação?