繁体   English   中英

如何通过使用Java从Selenium Webdriver中的List中获取下拉列表值

[英]How to fetch dropdown value from List in selenium Webdriver by using java

如何将列表值视为下拉值?

如何从列表中选择编辑下拉值...

<div class="nice-select demoBasic" tabindex="0">
    <span class="current">Please select</span>
    <ul class="list">
        <li class="option" data-value="1">Edit</li>
        <li class="option" data-value="2">Delete</li>
    </ul>
</div> 

您应该尝试使用By.cssSelector()获取列表中的所有选项,如下所示:-

WebDriverWait wait = new WebDriverWait(driver, 10);

//First click on select div 
WebElement select = wait.until(ExepectedConditions.elementToBeClickable(By.cssSelector("div.nice-select.demoBasic")));
select.click();

//Not get all nested options 
List<WebElement> options = wait.until(ExepectedConditions.presenceOfNestedElementsLocatedBy(select, By.cssSelector("ul.list li.option")));

//Now iterate to fetch all options and select edit option
for(WebElement option : options)
{
  if(option.getText().equals("Edit"))
  {
      option.click();
  }
}

或者您可以使用By.xpath()如下一行基于文本来选择一个选项:-

wait.until(ExepectedConditions.elementToBeClickable(By.xpath(".//li[text() = 'Edit']"))).click();

我得到了解决方案...

    driver.findElement(By.xpath("/html/body/div[1]/div[3]/div/div/div[2]/table/tbody/tr[3]/td[3]/div")).click();
    driver.manage().timeouts().implicitlyWait(6000, TimeUnit.SECONDS);
    Thread.sleep(4000);
    driver.findElement(By.xpath("/html/body/div[1]/div[3]/div/div/div[2]/table/tbody/tr[3]/td[3]/div/ul/li[1]")).click();
    driver.manage().timeouts().implicitlyWait(6000, TimeUnit.SECONDS);
    Thread.sleep(4000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM