【发布时间】:2015-09-01 01:12:11
【问题描述】:
我需要在自动完成文本框中输入一些文本。 然后我将从该自动完成选项中选择一个选项并需要单击它。
我已尝试使用以下代码:
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
String textToSelect = "headlines today";
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.in/");
Thread.sleep(2000);
WebElement autoOptions= driver.findElement(By.id("lst-ib"));
autoOptions.sendKeys("he");
List<WebElement> optionsToSelect = driver.findElements(By.tagName("li"));
for(WebElement option : optionsToSelect){
System.out.println(option);
if(option.getText().equals(textToSelect)) {
System.out.println("Trying to select: "+textToSelect);
option.click();
break;
}
}
【问题讨论】:
-
你的代码有什么问题?
-
你遇到了什么错误?
-
@VikasNehaOjha 在我的代码中,for 循环迭代没有运行
-
@HelpingHands 它没有显示任何错误!但是,该程序继续运行。在 optionsToSelect 中,它正在获取值列表。我正在尝试在 for 循环 中对其进行迭代并比较值。
-
在
List<WebElement> optionsToSelect之前进行睡眠或显式等待。还可以尝试在for循环之前打印列表,以便查看列表中的元素数量。
标签: java selenium selenium-webdriver browser-automation