Tengo un cuadro de texto en el que cuando escribo una letra diga 's', muestra una lista de resultados (como la búsqueda en Google).Prueba autocompletar con Selenium webdriver
Estoy usando la última selenium webdriver con java.
He tratado
sendKeys("s"),
JavascriptLibrary jsLib = new JavascriptLibrary();
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onkeyup");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onblur");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onclick");
jsLib.callEmbeddedSelenium(driver, "doFireEvent", driver.findElement(By.id("assetTitle")), "onmouseup");
driver.findElement(By.id("assetTitle")).sendKeys(Keys.ENTER);
Ninguno de estos trabajos, incluso después de la adición de espera después de cada uno de los pasos.
¿Alguna sugerencia?
Gracias.
Actualización: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
WebElement query = driver.findElement(By.name("q"));
query.sendKeys("s");
driver.findElement(By.xpath("//table[@class='gssb_m']/tbody/tr/td/div/table/tbody/tr/td/span")).click();
driver.findElement(By.name("btnG")).click();
Actualización 2: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
WebElement query = driver.findElement(By.name("destination"));
query.sendKeys("s");
Actualización 3: - he intentado con selenio 1 y el método FireEvent funciona haciendo pasar como parámetro 'keyDown'. Esto debería ser una solución temporal por ahora.
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
DefaultSelenium sel = new WebDriverBackedSelenium(driver,"http://www.kayak.com/");
sel.type("//input[@id='destination']", "s");
sel.fireEvent("//input[@id='destination']", "keydown");
¿Puede actualizar su pregunta con un código de ejemplo que funcione con el campo de búsqueda de Google? – djangofan
He agregado el código de búsqueda de Google de ejemplo. Aunque el último paso no es necesario, Google trae automáticamente los resultados de la búsqueda. Pero si lo intentas en kayak.com, un código similar no funcionará para buscar aeropuertos. – user1198308
Se agregó una muestra de kayak. Al enviar la clave 's, deberíamos ver los aeropuertos comenzando con la letra S. – user1198308