J'ai une zone de texte dans laquelle lorsque je tape une lettre, j'indique une liste de résultats (comme google search). J'utilise le dernier pilote Web de sélénium avec Java.Test auto-complétion avec Selenium webdriver
J'ai essayé
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);
Aucune de ces travaux, même après l'ajout d'attente après chacune des étapes.
Des suggestions?
Merci.
Update: -
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();
Update 2: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
WebElement query = driver.findElement(By.name("destination"));
query.sendKeys("s");
Update 3: - I essayé avec Selenium 1 et le procédé de FireEvent fonctionne en tant que passage de paramètres 'keydown. Cela devrait être une solution temporaire pour l'instant.
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");
Pouvez-vous mettre à jour votre question avec un exemple de code qui fonctionne avec le champ de recherche Google? – djangofan
J'ai ajouté l'exemple de code de recherche google. Bien que la dernière étape ne soit pas nécessaire car Google apporte automatiquement les résultats de la recherche. Mais si vous essayez pour kayak.com, un code similaire ne fonctionnera pas pour la recherche d'aéroports. – user1198308
Échantillon de kayak ajouté. En envoyant les clés, nous devrions voir les aéroports commençant par la lettre S. – user1198308