Как опустить скрытые параметры из выпадающего с помощью селена
Если мы используем код селена
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());
}