1
resposta

O Chrome abre mas não preenche o campo do texto (campo não localizado)

Olá,

Como o identificador name não existe mais, tentei pelo id, porém sem sucesso. O meu código está assim:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class TesteAutomatizado {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        WebDriverWait wait = new WebDriverWait(driver,10);

        driver.get("http://www.google.com.br");

        WebElement campoDeTexto = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("realbox")));
        campoDeTexto.sendKeys("Caelum");

        campoDeTexto.submit();
    }
}

A mensagem de erro

Exception in thread "main" org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.id: realbox (tried for 10 second(s) with 500 milliseconds interval)
    at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:95)
    at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:272)
    at TesteAutomatizado.main(TesteAutomatizado.java:16)
Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"#realbox"}
  (Session info: chrome=84.0.4147.125)
1 resposta

Olá, Cintia! Tudo bem contigo?

Desculpe a demora em dar um retorno

Eu testei e consegui pelo name

Imgur

Veja se consegue aplicar desta forma

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class TesteAutomatizado {

    public static void main(String[] args) {

        System.setProperty("webdriver.gecko.driver", "/home/cassio/eclipse-workspace/geckodriver-v0.27.0-linux64/geckodriver");

        WebDriver driver = new FirefoxDriver();

        driver.get("http://www.google.com.br");

        WebElement campoDeTexto = driver.findElement(By.name("q"));
        campoDeTexto.sendKeys("Alura");

        campoDeTexto.submit();
    }

}

Como eu utilizei uma versão mais recente do gecko, tive que chamar através do System.setPropery

System.setProperty("webdriver.gecko.driver", "/home/cassio/eclipse-workspace/geckodriver-v0.27.0-linux64/geckodriver");

Espero ter ajudado!

Um abraço e bons estudos!