java - Selenio getText
selenium webdriver (3)
Java ele.getAttribute("innerHTML");
Esto podría hacer que el texto ya esté en segundo plano y no se muestre en la página todavía.
Quiero getText () usando By.id o By.cssSelector.
Pude resolver mi problema haciendo getAttribute ("valor"), pero no entiendo por qué getText () no funciona como lo esperaba, y podría necesitarlo para que se agradezca toda la ayuda.
Aquí está el java:
WebDriverWait wait = new WebDriverWait(driver, 10);
Boolean elementIsPresent = wait.until(ExpectedConditions.textToBePresentInElementValue(By.cssSelector("#general_service_name"),"[reg] general_service_name")); // true
//WebElement general_service_name = driver.findElement(By.cssSelector("#general_service_name"));
WebElement general_service_name = driver.findElement(By.id("general_service_name"));
// Display check
Boolean isDisplayed;
if(general_service_name.isDisplayed()) isDisplayed = new Boolean(true); else isDisplayed = false; //true
String text_empty = general_service_name.getText(); //""
String text_with_value = driver.findElement(By.id("general_service_name")).getAttribute("value"); //"[reg] general_service_name"
Y html:
<input id="general_service_name" type="text" value="[reg] title" name="general_service_name" style="float:left;"/>
Respuesta simple: está diseñado de esta manera. getText()
analiza el contenido de la etiqueta (es decir, su texto interno), que obviamente está vacío para las entradas.
getText () entrega el texto interno de un WebElement.
Su campo de entrada no tiene ningún texto interno. El texto se encuentra dentro de su atributo de valor, por lo tanto, acceder a él a través de getAttribute ("valor") es la forma correcta de hacerlo.