***HTML***
<select id="type" class="dropdownValues" name="type">
<option class="dropdownValues" selected="selected" value="00">All</option>
<option class="dropdownValues" value="01">Car</option>
<option class="dropdownValues" value="02">House</option>
<option class="dropdownValues" value="03">Boat</option>
<option class="dropdownValues" value="04">Plane</option>
<option class="dropdownValues" value="05">Tree</option>
<option class="dropdownValues" value="06">Land</option>
</select>
我的代码
Select selectBox = new Select(driver.findElement(By.id("type")));
List<WebElement> selectOptions = selectBox.getOptions();
for (WebElement temp : selectOptions)
{
System.out.println(temp.getText());
}
*输出显示7次。
全
汽车屋,船,橡树地,汽车屋,船,梧桐树地,汽车屋,船,树地,所有汽车屋,船,树地
I would like to itterate through each options 1 times and select them.
发布于 2014-07-04 07:36:46
public static void main(String[] args)
{
WebDriver driver=new FirefoxDriver();
driver.get("file:///D:/Programming%20Samples/SelectOptions.html");
WebElement item=new WebDriverWait(driver,60)
.until(ExpectedConditions.elementToBeClickable(By.id("type")));
Select listItem=new Select(item);
for(Integer i=0;i<listItem.getOptions().size();i++)
{
listItem.selectByIndex(i);
System.out.println(listItem.getFirstSelectedOption().getText()); //Just to make sure what is selected
}
driver.close();
}
发布于 2014-07-03 21:26:49
我不太熟悉Java中的WebDriver,但是在C#中您可以这样做:
foreach (var elem in selectOptions){
elem.Click(); //or elem.SendKeys(Keys.Enter);
}
请参阅已经回答的a duplicate question。
https://stackoverflow.com/questions/24559367
复制相似问题