如何使用java从Selenium WebDriver中下载(使用div标签开发)检索和显示选项

时间:2016-08-10 06:59:10

标签: selenium

我想显示Div Drop中存在的所有选项。 我尝试了很多方法,但没有运气。 我可以使用以下代码在Div下拉中选择一个项目:

driver.findElement(By.xpath("//*[@role='listbox']")).click();
     Thread.sleep(5000);
     Actions a=new Actions(driver);

 //I am going to Select 'March' option from drop down
 //by default the cursor is at October option...so i used keys Up for March


a.sendKeys(Keys.UP).build().perform();
     Thread.sleep(5000);?
     a.sendKeys("March").build().perform();
     Thread.sleep(5000);
     a.sendKeys(Keys.ENTER).build().perform();
     Thread.sleep(10000);

以上代码对我来说非常有用 但现在我希望从下拉列表中显示所有选项 请帮忙。 感谢。

3 个答案:

答案 0 :(得分:0)

要显示选项,只需点击该下拉菜单:)

要从该下拉列表中检索值:

driver.findElements(By.locator("your_locator"))

此函数返回给定定位器找到的元素列表。

因此,如果要从下拉列表中检索所有选项,则需要从下拉列表中找到指向所有值的定位器。

希望有所帮助

答案 1 :(得分:0)

您可以使用以下代码获取所有选项:

    Select dropdown = new Select(driver.findElement(By.xpath("//*[@role='listbox']")));

    //Get all the options from dropdown
    List<WebElement> options = dropdown.getOptions();

    //To print all the option values
    for(WebElement option : options){
        System.out.println(option.getText());
    }

答案 2 :(得分:0)

试试这个简单的代码

List<string> ddlText  =  CurrentDriver.FindElements(By.XPath("//*[@role='listbox']//div")).Select(x => x.Text).ToList();

其中“// * [@ role ='listbox'] // div”是DDL的DIV项目。