Selenium / Java:在下拉菜单中获取当前所选选项的索引/位置

时间:2014-11-14 10:09:21

标签: java select selenium indexing html.dropdownlistfor

如何在Selenium的下拉菜单中获取当前所选选项的索引?获取文本标签很容易

String searchString = select.getFirstSelectedOption().getText();

选择第n个元素

也很容易
select.selectByIndex(25);

但我想知道当前所选项目的索引是25.当我知道我想记录该值然后按索引选择下一个。

2 个答案:

答案 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();