如何从下拉列表中获取所有元素?

Nam*_*tha 5 java selenium selenium-webdriver

如何从下拉列表中获取所有元素?我用了:

List<WebElement> elements = driver.findElements(By.id("s"));
Run Code Online (Sandbox Code Playgroud)

但我总是只获得第一个元素.

Arr*_*ran 8

在bindigs中有一个为此设计的类.

你正在寻找Select班级:

https://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/support/ui/Select.java

您需要"找到"实际select元素,而不是单个选项.找到那个select元素,让Selenium和Select班级为你完成剩下的工作.

你会寻找像(s作为实际select元素)的东西:

WebElement selectElement = driver.findElement(By.id("s");
Select select = new Select(selectElement);
Run Code Online (Sandbox Code Playgroud)

Select课程有一个方便的getOptions()方法.这将完全符合您的想法.

List<WebElement> allOptions = select.getOptions();
Run Code Online (Sandbox Code Playgroud)

现在你可以做你想做的事了allOptions.


ISG*_*ind 7

这将有助于列出下拉列表中的所有元素:

    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());

    }
Run Code Online (Sandbox Code Playgroud)


Adi*_*tya 0

波田,

使用下面的代码,您将获得选择框中可用选项的列表,然后单击其中一个。

列表选项 = select.findElements(By.tagName("option"));

    for(WebElement option : options){
        if(option.getText().equals("male")) {
            option.click();
            break;
        }
    }
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

63201 次

最近记录:

5 年,11 月 前