Selenium - 如何根据在不同下拉列表中选择的值从下拉列表中读取值

时间:2015-06-18 11:26:05

标签: java selenium drop-down-menu

我有一个具有普通文本字段和下拉菜单的应用程序。 我想根据不同下拉菜单中选定的下拉菜单从下拉列表中获取数据。为了更清楚, 下拉1:国家 下拉2:状态 当我在下拉列表中选择印度时,印度的所有州都将加载“州”下拉列表。 如何在这种情况下阅读“状态”下拉菜单的值。

请让我知道可用于此的概念。我是编码的新手。

此致

AK

1 个答案:

答案 0 :(得分:1)

为了与Select WebElements交互,我建议使用Selenium的 Select 类,因为它提供了合适的便利方法。

您的示例场景可以表示如下:

//Find the Country Select WebElement and select "India"
Select countrySelect = new Select(driver.findElement(By.id("foo")));
countrySelect.selectByVisibleText("India");

//Find the State Select WebElement and retrieve the available Option WebElements
Select stateSelect = new Select(driver.findElement(By.id("bar")));
List<WebElement> stateOptions = stateSelect.getOptions();

//Retrieve the text values of the Option WebElement in the State Select WebElement
List<String> states = new ArrayList<>();
for (WebElement stateOption : stateOptions) {
    states.add(stateOption.getText());
}

选择类Javadoc: https://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/Select.html