Necesito ingresar mi valor numérico en la entrada con moneda. El campo tiene un atributo predeterminado de 0.00.

Este comando no cambia nada:

webElement.clear();
System.out.println("webElement.getAttribute("value")); //0,00

Cuando trato de registrar mi valor igual a 803 en él, el campo finalmente obtiene un valor de 0.00803, que luego se redondea a 0.01:

webElement.sendKeys(text);
System.out.println("webElement.getAttribute("value")); //0,008003

Lo mismo sucede cuando uso este comando:

webElement.sendKeys(Keys.chord(Keys.COMMAND, "a", text)); //0,008003

Ambiente:

  • Mac OS
  • selenio-java-3
  • guayaba-25.0-jre
  • java 8
  • Versión 77 de Google Chrome
  • ChromeDriver 77.0.3865.40
1
NeverSleeps 22 oct. 2019 a las 13:45

1 respuesta

La mejor respuesta

Puede utilizar el método executeScript() de JavascriptExecutor como se muestra a continuación:

 WebElement element = driver.findElement(By.xpath("enter the xpath here")); // you can use any locator
 JavascriptExecutor jse = (JavascriptExecutor)driver;
 jse.executeScript("arguments[0].value='enter the value here';", element);
2
DebanjanB 23 oct. 2019 a las 12:01