Selenium:按项目名称从无序列表中选择项目

时间:2015-07-31 13:00:11

标签: selenium selenium-webdriver html-lists

我有一个HTML代码:

  • 分区:由按钮和无序列表组成
  • 点击按钮显示列表
  • 的值
  • 每个列表元素都有一个复选框,以便可以从列表中选择多个值
  • 每个列表名称在-li和-a标签内表示{-a-class =“ng-binding”> 0< -a - }

我想按标签的值选择一个元素,即50(此处)

我正在使用的代码:

pageDropDown.click(); // to view the list element
pageList.click(); // to select the list
pageList.findElement(By.linkText("50")).click(); // to select the element

我也试过List< WebElement>但这不适用于项目名称

我收到错误:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"link text","selector":"50"}

我的问题是:

如何通过列表中项目的值而不是xpath或indexvalue从无序列表中选择多个值。

1 个答案:

答案 0 :(得分:0)

selenium webdriver快速启动,你必须等待几毫秒浏览器显示你的列表。 您可以使用WebDriverWait执行此操作:

        (new WebDriverWait(driver, MAX_WAIT_TIME)).until(new ExpectedCondition<Boolean>() {
                @Override
        public Boolean apply(final WebDriver d) {
            pageList.findElement(By.linkText("50")).click(); // to select the element
            return true;
        }
    });