如何在Selenium的下拉菜单中获取当前所选选项的索引?获取文本标签很容易
String searchString = select.getFirstSelectedOption().getText();
选择第n个元素
也很容易select.selectByIndex(25);
但我想知道当前所选项目的索引是25.当我知道我想记录该值然后按索引选择下一个。
答案 0 :(得分:3)
我使用下面的html代码段下拉列表: -
<select name="Students">
<option value="student1">student1</option>
<option value="student2">student2</option>
<option value="student3">student3</option>
<option value="student4">student4</option>
</select>
以下是从下拉列表中进行选择然后获取所选选项的索引的代码: -
Select sel = new Select(driver.findElement(By.xpath("//select[@name='Students']")));
sel.selectByVisibleText("student4");
List<WebElement> list = sel.getOptions();
for(int i=0;i<list.size();i++){
if(list.get(i).getText().equals(sel.getFirstSelectedOption().getText())){
System.out.println("The index of the selected option is: "+i);
break;
}
}
注意: - 输出为“3”,因为索引从“0”开始。
答案 1 :(得分:0)
在我们的硒测试中,使用了更简洁的代码段:
int index = select.getOptions().indexOf(select.getFirstSelectedOption();