***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.
答案 0 :(得分:1)
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();
}
答案 1 :(得分:0)
我不熟悉Java中的WebDriver,但在C#中你会做这样的事情:
foreach (var elem in selectOptions){
elem.Click(); //or elem.SendKeys(Keys.Enter);
}
请参阅已经回答的a duplicate question。