Как опустить скрытые параметры из выпадающего с помощью селена

Если мы используем код селена

 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 администратор и инструктор отображаются только в раскрывающемся списке, а учащийся не отображается в раскрывающемся списке.

Так как же получить из раскрывающегося списка только отображаемые параметры?

2 ответа

Я не уверен, как получить выбрать класс. Но вы можете получить все видимые элементы в списке, используя ниже xpath

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

Вот альтернативный фрагмент:

List<WebElement> elements = driver.findElements(By.xpath(".//select/option[not(contains(@style,'display: none'))]"));
    for(WebElement element : elements){
        System.out.println(element.getText());
    }
Другие вопросы по тегам