Estoy en Windows 10 de 64 bits con una versión de Chrome 75.0.3770.142 y el último controlador de Chrome 75. Tengo un problema con sendKey al usar Selenium en Java. Cambié mi computadora recientemente y tengo una regresión en el método SendKey para el valor numérico de algunos campos (tipo: decimal) en una aplicación de Salesforce.
lstOfElements.get(0).sendKeys("120000");
Para estos campos, SendKey no envía nada. He utilizado una solución alternativa con Javascript:
WebElement t1 = driver.findElements(By.xpath("//*[contains(@id,'input')]")).get(0);
t1.click();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].value='120000';", t1);
Puedo enviar el valor pero no se reconoce como un valor correcto (seguro que el valor puesto manualmente funciona)
Entonces he usado otra solución usando
t1.sendKeys(Keys.NUMPAD1);
Y funciona. Pero mi objetivo es administrar mi conjunto de datos mediante un archivo externo y me gustaría evitar la traducción entre el número y el comando NumPad.
Entonces, probé el mismo comando inicial (SendKey("120000");) en FireFox usando Gecko WebDriver, y está funcionando bien. Alguna otra persona desarrolladora con otra configuración (Chrome de 32 bits en Windows 10 de 64 bits y el mismo controlador) tiene SendKey funcionando bien en Chrome también. También cambié mi configuración para alinearla, pero el mismo problema.
¿Alguien sabe por qué surge este problema con la clave de envío? ¿Por favor explíqueme? Puede haber un problema de compatibilidad en Chrome porque, cuando probé un robot keyPress(KeyEvent.VK_1), no funciona desde keyPress(KeyEvent.VK_NUMPAD1); obras.
Gracias por tu ayuda. Espero haber sido claro.