Tener problemas con Webdriver al intentar ingresar texto en un formulario. El formulario tiene una validación de javascript de la que no puedo deshacerme. Tiene un mensaje de error habilitado de forma predeterminada que solo se elimina cuando se detecta una entrada válida (por ejemplo, si escribe IRLANDA y presiona TAB o hace clic para alejarse).
Intenté usar la tecla.TAB de Selenium, no funcionó. Este es el código:
await driver.wait(until.elementLocated(By.className('combi-select__input')), 15000); const sets = await driver.findElement(By.className('combi-select__input')); await sets.sendKeys("IRELAND");Ahora, cuando verifico la salida html, el formulario está vacío y sigo recibiendo el error. Intenté hacer clic () en él primero.
Por otro lado esto funciona:
await driver.wait(until.elementLocated(By.className('combi-select__input')), 15000); const sets = await driver.findElement(By.className('combi-select__input')); await driver.executeScript("arguments[0].setAttribute('value','IRELAND');", sets);El problema con esto es que la validación de javascript aún mantiene el error, por lo que no se puede enviar el formulario.
Si alguien puede ayudar, sería increíble.
Intenta usar JavascriptExecutor
JavascriptExecutor jse = ((JavascriptExecutor)driver); WebElement email = driver.findElement(By.id("useremail")); jse.executeScript("arguments[0].value='-----your input----';", email);