如何在 Selenium WebDriver Java 中选择下拉值

Posted

技术标签:

【中文标题】如何在 Selenium WebDriver Java 中选择下拉值【英文标题】:How to select a dropdown value in Selenium WebDriver Java 【发布时间】:2020-11-10 04:14:06 【问题描述】:

在发布之前,我研究了整个 *** 来解决这个问题,但找不到解决方案,因为它们中的大多数都提供了与 Select 类相关的解决方案。下面是我遇到但没有解决我的问题的一些链接,

    How to select a dropdown value in Selenium WebDriver using Java How to select dropdown value in selenium webdriver using Testng? How to select dropdown option from span in selenium webdriver Selenium WebDriver: Handling DropDowns Select dropdown in selenium webdriver

我有 6 个下拉菜单,它们具有相同的下拉列表和相同的 html 标记。我无法从每个下拉菜单中选择值。其中一个下拉菜单如下所示,

我有带有动态 div id 的 HTML,

我选择其中一个选项的 xpath 为 -> //li[text()='No Problems']。以下方法确实单击了下拉菜单,但无法单击“无问题”。我无法使用 Select 类,因为 DOM 没有选择标签。

以下是我尝试选择下拉选项的两种不同方法,

请帮助如何克服这种情况并选择下拉列表选项。

【问题讨论】:

【参考方案1】:
// click on that place holder

     driver.findElement(By.xpath("....')).click();

// then store all results which are inside box by list classes in selenium 

        List <WebElement> lists=driver.findElements(By.xpath("//ul[@role='list box']//li"));
        System.out.println(lists.size());

        for (int i = 0; i < lists.size(); i++) 
            //System.out.println(LIST.get(i).getText());
// checking that text by for loop and pick 
            if (lists.get(i).getText().contains("No Problems")) 
                lists.get(i).click();
                break;
            

【讨论】:

欢迎,如果我的回答让你满意,请采纳我的回答,让其他人有所了解

以上是关于如何在 Selenium WebDriver Java 中选择下拉值的主要内容,如果未能解决你的问题,请参考以下文章