如何从自动完成下拉列表中选择国家/地区名称?
请提供有关Google搜索代码的建议,以便我能理解。
答案 0 :(得分:3)
如果您的下拉列表是可编辑的,您可以使用发送键直接键入值,否则您需要根据需要模拟向下箭头键操作。但这不是明智之举,因为如果在下拉列表中添加新值(无论如何,在这种情况下会有固定因为国家数量是常数),那么它就会搞乱。
driver.findElement(locator).sendKeys(countryName , Keys.TAB);
或
driver.findElement(locator).sendKeys(Keys.DOWN);
答案 1 :(得分:0)
请尝试以下代码:
WebElement dropdown = driver.findElement(By.....);
Select dropdownSelect = new Select(dropdown);
dropdownSelect.selectByVisibleText(itemStr) or selectByValue(value);
答案 2 :(得分:0)
Link : http://www.mythoughts.co.in/2012/05/getting-google-search-auto-suggestions.html#.Ul-lJdi1Zbc
@Test
public void SearchSuggestion() {
driver.get("http://google.com");
driver.findElement(By.id("gbqfq")).sendKeys("vam");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement table = driver.findElement(By.className("gssb_m"));
List<webelement> rows = table.findElements(By.tagName("tr"));
Iterator<webelement> i = rows.iterator();
System.out.println("-----------------------------------------");
while(i.hasNext()) {
WebElement row = i.next();
List<webelement> columns = row.findElements(By.tagName("td"));
Iterator<webelement> j = columns.iterator();
while(j.hasNext()) {
WebElement column = j.next();
System.out.println(column.getText());
}
System.out.println("");
System.out.println("-----------------------------------------");
}
}
}
答案 3 :(得分:-1)
driver.findElement(By.id("your searchBox")).sendKeys("your partial keyword");
Thread.sleep(3000);
List <WebElement> listItems = driver.findElements(By.xpath("your list item locator"));
listItems.get(0).click();
driver.findElement(By.id("your searchButton")).click()