【发布时间】:2013-07-18 10:36:54
【问题描述】:
以下代码测试网页的自动完成框:
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,但没有任何效果。
【问题讨论】:
-
你有没有试过其他浏览器??还有你为什么在网络驱动等待中等待0秒。
-
感谢您的回复。 1) 显式等待没有问题,我可以使用
(driver, 120)。页面加载正常。当“美联社,The”进入输入框时会出现问题......手动 - 没问题,但随着它自动进入 - 它根本不会加载选项。 2) 我也试过 FireFox - 没有任何改进。 -
标题很有希望,但我不太明白接受的答案如何解决 sendKeys() 不会使自动完成下拉列表显示为相同文本输入时的方式的事实手动输入的。为什么不提供一个可以检查有问题元素的真实 URL?
标签: java selenium autocomplete inputbox