Как я могу получить все элементы из выпадающего списка? Я использовал:Как я могу получить все элементы из выпадающего списка?
List<WebElement> elements = driver.findElements(By.id("s"));
Но я всегда получаю только первый элемент.
Как я могу получить все элементы из выпадающего списка? Я использовал:Как я могу получить все элементы из выпадающего списка?
List<WebElement> elements = driver.findElements(By.id("s"));
Но я всегда получаю только первый элемент.
Namita,
с ниже код, который вы получите список доступных опций в окне выбора и нажать на одну.
Опции списка = select.findElements (By.tagName ("option"));
for(WebElement option : options){
if(option.getText().equals("male")) {
option.click();
break;
}
}
Существует класс, предназначенный для этого в bindigs.
Вы ищете Select
класса:
Вы должны были бы «найти» фактический select
элемент, а не отдельные варианты. Найдите этот элемент select
, и пусть Selenium & класс Select
сделает остальную работу за вас.
Вы бы искать что-то вроде (s
быть фактический select
элемент):
WebElement selectElement = driver.findElement(By.id("s");
Select select = new Select(selectElement);
Select
класс имеет удобный getOptions()
метод. Это будет делать именно то, что вы думаете.
List<WebElement> allOptions = select.getOptions();
Теперь вы можете делать то, что хотите, с allOptions
.
Имеет смысл. Спасибо –
Это хорошо. Спасибо. Есть ли способ получить значения каждого параметра? – Citronex
Используйте эту надежду, это будет полезно для вас.
List WebElement allSuggestions = driver.findElements(By.xpath("Your Xpath"));
for (WebElement suggestion : allSuggestions)
{
System.out.println(suggestion.getText());
}
Это поможет перечислить все элементы из выпадающего списка:
Select dropdown = new Select(driver.findElement(By.id("id")));
//Get all options
List<WebElement> dd = dropdown.getOptions();
//Get the length
System.out.println(dd.size());
// Loop to print one by one
for (int j = 0; j < dd.size(); j++) {
System.out.println(dd.get(j).getText());
}
List<WebElement> featureList;
featureList = Locate your Element;
for (WebElement i : featureList) {
System.out.println("\n********************** " + i.getText());
}
Пожалуйста, объясните свой код – mplungjan
Зачем нужно OP ___try this___? ** Хорошие ответы ** всегда будут объяснять, что было сделано и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO, которые могут найти этот вопрос и прочитать ваш ответ. – RiggsFolly
WebElement ele=driver.findElement(By.xpath(".//*[@id='month']"));
List<WebElement> x = ele.findElements(By.tagName("option"));
for(WebElement ele1:x) {
String y=ele1.getAttribute("innerHTML");
System.out.println(y);
}
Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно того, почему и/или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. – rollstuhlfahrer
вы можете вставить HTML-код этого – Omkar
Это может быть полезно для вас. [http://stackoverflow.com/questions/9562853/how-to-get-all-options-in-a-drop-down-list-by-selenium-webdriver-c][1] [1]: http://stackoverflow.com/questions/9562853/how-to-get-all-options-in-a-drop-down-list-by-selenium- webdriver-c – Learner