将当前选定的选项作为文本/字符串获取Selenium + Java中的下拉列表

时间:2013-02-18 12:52:48

标签: java selenium-webdriver automated-tests

我有一种情况,我需要从下拉列表中获取当前选择作为文本或字符串并比较它以进一步断言,但是当我尝试getText()时,我得到了drop中的完整项目列表如何从下拉列表中获取当前选定的项目。

希望我的问题有道理,如果有人在此之前完成,请告诉我

先谢谢

4 个答案:

答案 0 :(得分:1)

试用此代码:

  //Assume driver initialized properly some where else
  Select sel = new Select(driver.findElement(By.xpath(Dropdown locator Id)));
  String strCurrentValue = sel.getFirstSelectedOption();
  //Print the Currently selected value
  System.out.println(strCurrentValue);

使用上述值进行断言。

答案 1 :(得分:1)

这是适合我的代码

   Select comboBox = new Select(driver.findElement(locator)
   selectedComboValue = comboBox.getFirstSelectedOption().getText();

希望它能帮到别人!!

答案 2 :(得分:0)

如果您知道自己要找的是哪个文字.... 这对我有用

public String getValueFromDropDown(WebElement element, String compareText) {
        List<WebElement> options = new Select(element).getAllSelectedOptions(); 
    for (WebElement option : options){
        if (option.getText().equals(compareText)){
            return option.getText();
        }
    }
    return null;
}

注意:其他答案抓住第一个选定的项目。这将检查所有可用选项。

答案 3 :(得分:0)

您可以在硒中使用以下选项获取文本值:

Driver.findElement(By.id("id value")).getVisibleText("enter value name");