java - 如何使用selenium从列表框中选择项目

标签 java selenium-webdriver

How can i select option from below drop down list. I tried with xpath or id but it does not work.

   java.util.List<WebElement> option = getDriver().findElements(By.xpath("//*[@id='ctl00_ContentOne_engage_admin_page_user_engage_admin_user_ddlUserType_listbox']"));
        for(WebElement select : option){
            if("Administrator".equals(select.getText()));
            select.click();
        }

    <ul unselectable="on" class="k-list k-reset" tabindex="-1" role="listbox" aria-hidden="true" id="ctl00_ContentOne_engage_admin_page_user_engage_admin_user_ddlUserType_listbox" aria-live="off" style="overflow: auto; height: auto;">
    <li tabindex="-1" role="option" unselectable="on" class="k-item k-state-selected k-state-focused" id="ctl00_ContentOne_engage_admin_page_user_engage_admin_user_ddlUserType_option_selected" aria-selected="true">Enter User Type...</li>
    <li tabindex="-1" role="option" unselectable="on" class="k-item">AdminOne</li>
    <li tabindex="-1" role="option" unselectable="on" class="k-item">Read Only</li>
    <li tabindex="-1" role="option" unselectable="on" class="k-item">REST API</li>
    <li tabindex="-1" role="option" unselectable="on" class="k-item">Publisher</li>
    <li tabindex="-1" role="option" unselectable="on" class="k-item">API User</li>
    </ul>

最佳答案

按照你的方式,你似乎正在列出 <ul> 的列表。元素,这只会是一个元素。我假设您想列出 <li> 的列表您可以使用以下代码执行的元素

java.util.List<WebElement> option = getDriver().findElements(By.xpath("//li[contains(@class, 'k-item')]"));

关于java - 如何使用selenium从列表框中选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45772822/

相关文章:

java - 将已弃用的方法从 Java 转换为 Kotlin

Python + Selenium 有效获取列表中元素的属性

java - Selenium 2 将CSS注入(inject)当前显示的网页

selenium-webdriver - Selenium 与 Chrome 与网络 worker 崩溃

selenium - 如何使用 junit4 和 selenium webdriver 使用 chrome 运行我的场景

java - 正则表达式未捕获预期组中的匹配项

java - 如何在 Tomcat 6 中设置根 servlet?

java - 如何删除 JTidy 的所有输出?

Java JPanel 平铺背景图像

java - Jenkins-Selenium Webdriver-即使在运行所有测试之后,仍会在控制台中长时间加载一个多小时