私は「s」という1文字を入力すると、結果のリスト(google検索など)が表示されるテキストボックスがあります。Selenium webdriverでテストオートコンプリート
私は、javaを使用して最新のselenium webdriverを使用しています。
私も各ステップの後に待機を追加した後にこれらの作業の
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);
なしを試していません。
提案がありますか?
ありがとうございました。
更新: -
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();
アップデート2: -
WebDriver driver = new FirefoxDriver();
driver.get("http://www.kayak.com/");
WebElement query = driver.findElement(By.name("destination"));
query.sendKeys("s");
更新3 - Iセレン1と試み、fireevent方法は、 'のKeyDown' などのパラメータを渡すことによって動作します。これは一時的な回避策になります。
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");
質問をGoogle検索フィールドで動作するサンプルコードで更新できますか? – djangofan
サンプルのGoogle検索コードを追加しました。 Googleは自動的に検索結果を表示するため、最後のステップは不要ですがしかし、kayak.comを試してみると、同様のコードは空港を検索するためには機能しません。 – user1198308
カヤックサンプルが追加されました。キー 's'を送ることで、空港は文字Sで始まるはずです。 – user1198308