2

我有一种情况,我需要从下拉列表中以文本或字符串的形式获取当前选择,并对其进行比较以进行进一步的断言。但是当我尝试 getText() 时,我会在下拉列表中获得完整的项目列表。如何从下拉列表中获取当前选择的项目?

希望我的问题是有道理的,请让我知道是否有人以前做过。

提前致谢

4

4 回答 4

3

这是对我有用的代码

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

希望它也能帮助别人!!

于 2013-02-19T05:10:38.627 回答
1

Try this code:

  //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);

Use the above value for assertion purpose.

于 2013-02-18T13:03:07.800 回答
0

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

Driver.findElement(By.id("id value")).getVisibleText("enter value name");
于 2019-05-08T05:46:26.417 回答
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;
}

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

于 2015-07-28T04:43:15.243 回答