次のコードは、Webページのautocomleteボックスをテスト(?なぜ自動化された入力は、オートコンプリートのオプションをロードしませんが、手動入力はありません):Seleniumを使ってオートコンプリート入力ボックスを埋める方法は?
public class Test {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","chromedriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www..............com");
driver.switchTo().frame("mainFrame");
WebDriverWait waitst = new WebDriverWait(driver, 120);
waitst.until(ExpectedConditions.visibilityOfElementLocated(By.name("sourceTitle")));
WebElement sourceTitle = driver.findElement(By.name("sourceTitle"));
WebElement small = driver.findElement(By.cssSelector("li#nameExampleSection label + small"));
sourceTitle.sendKeys("Times");
Thread.sleep(5000);
Actions actions = new Actions(driver);
actions.click(small).perform();
}
}
ないのはなぜオートサジェストボックスの負荷? 重要:「...........」を手動で入力しようとしています...オートコンプリートボックスは完全に細かくロードされます。だから、なぜcssSelector
が動作しないのですが、なぜそれがオートコンプリートボックスを読み込まないのですか?
自動入力では自動補完オプションは使用できませんが、手動入力はどうしますか?
PS:私も試しましたfireEvent
、sendKeys
しかし、何も動作しません。
他のブラウザを試しましたか?また、なぜWebドライバ待機で0秒間待っていますか? – Madusudanan
ありがとうございます。 1)明示的待機に問題はないので、私は '(driver、120)'を使うことができます。ページが正常に読み込まれます。この問題は、 "Associated Press、The"が入力ボックスに入ったときに発生します...手動で問題はありませんが、自動的にそこに行くので、単純にオプションがロードされません。 2)私もFireFoxを試しました。改善はありませんでした。 – Buras
タイトルは非常に有望でしたが、私は、sendKeys()が、同じテキスト入力が手動で入力されたときと同じように、オートコンプリートドロップダウンリストを表示しないという事実に、なぜ、問題のある要素を調べることができる本当のURLを与えていないのですか? –