我有一种情况,我需要从下拉列表中以文本或字符串的形式获取当前选择,并对其进行比较以进行进一步的断言。但是当我尝试 getText() 时,我会在下拉列表中获得完整的项目列表。如何从下拉列表中获取当前选择的项目?
希望我的问题是有道理的,请让我知道是否有人以前做过。
提前致谢
我有一种情况,我需要从下拉列表中以文本或字符串的形式获取当前选择,并对其进行比较以进行进一步的断言。但是当我尝试 getText() 时,我会在下拉列表中获得完整的项目列表。如何从下拉列表中获取当前选择的项目?
希望我的问题是有道理的,请让我知道是否有人以前做过。
提前致谢
这是对我有用的代码
Select comboBox = new Select(driver.findElement(locator);
String selectedComboValue = comboBox.getFirstSelectedOption().getText();
希望它也能帮助别人!!
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.
您可以在 selenium 中使用以下选项来获取文本值:
Driver.findElement(By.id("id value")).getVisibleText("enter value name");
如果您知道要查找的文本....这对我有用
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;
}
注意:其他答案抓取第一个选定的项目。这将检查所有可用选项。