如何使用selenium从Dropdown中省略隐藏选项

时间:2017-09-28 12:28:15

标签: java selenium-webdriver dropdown

如果我们使用selenium代码

 Select sel = new Select(ele);
 eles = sel.getOptions();

它将返回下拉选项的所有元素,我们可以获取值。 但是如果某些下拉选项处于隐藏状态,并且我们使用相同的Select.getOptions(),它将返回所有选项,包括隐藏选项。

代码:

 <select id="userType" >
       <option value="administrator">Administrator</option>
       <option value="instructor">Instructor</option>
       <option class="studenthide" value="student" style="display: none;">Student</option>
 </select>    

从about代码中,Administrator和Instructor仅显示在下拉列表中,但Student不会显示在下拉列表中。

那么我们如何只从下拉列表中获取显示的选项?

2 个答案:

答案 0 :(得分:0)

我不确定如何使用select class。但是您可以使用xpath下面的所有可见元素进入列表

 driver.findElements(by.xpath("//select[@id="userType"]/option[not(contains(@style,"display: none"))]"))

答案 1 :(得分:0)

以下是替代摘录:

List<WebElement> elements = driver.findElements(By.xpath(".//select/option[not(contains(@style,'display: none'))]"));
    for(WebElement element : elements){
        System.out.println(element.getText());
    }