如何在 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 中选择下拉值的主要内容,如果未能解决你的问题,请参考以下文章

python selenium模拟滑动操作

如何使用 Java 在 selenium webdriver 中打开新选项卡,或者如何使用 selenium webdriver 使用动作类在 selenium 中按 ctrl + T [重复]

如何使用selenium webdriver来判断一个网页加载完毕

如何使用 C# 在 Selenium WebDriver (Selenium 2) 中最大化浏览器窗口?

如何使用selenium webdriver来判断一个网页加载完毕

如何在 ruby​​ 中使用 Selenium WebDriver (selenium 2.0) 客户端设置选项