如何使用 Java 计算 Selenium WebDriver 中选择下拉框中的选项数量?

Posted

技术标签:

【中文标题】如何使用 Java 计算 Selenium WebDriver 中选择下拉框中的选项数量?【英文标题】:How to count the number of options in a select drop down box in Selenium WebDriver using Java? 【发布时间】:2013-12-11 05:29:18 【问题描述】:

我有选择下拉列表:

xpath //*[@id="ddlTablePay"] 

我需要计算此下拉列表中的选项数量。谢谢你

【问题讨论】:

迭代它并简单地将计数器加一 我们没有任何内置函数吗? 您为什么不接受其中一个答案? 作为ID的元素,应该使用ID而不是xpath。因为 ID 比 xpath 更可取。 【参考方案1】:

使用.getOptions() 方法并将它们存储在一个列表中。然后找到它的大小。

Select se = new Select(driver.findElement(By.id("select drop down locator")));

List<WebElement> l = se.getOptions();
l.size();

-阿杰

【讨论】:

【参考方案2】:

使用.getXpathCount()方法

int numOptions = selenium.getXpathCount("//*[@id='ddlTablePay']/option").intValue();

【讨论】:

【参考方案3】:
optionItems = Select(driver.find_element_by_xpath("//select[@id='ddlTablePay']"))
print "Total Elements " + str(len(optionItems.options))

【讨论】:

【参考方案4】:
String[] options = driver.findElement(By.id("dropdown")).getText().split("\n");
options.length;

【讨论】:

或许能详细说明一下解决方案?【参考方案5】:

//统计选项的个数

Select dropDown = new Select(driver.findElement(By.id("ddlTablePay")));
List<WebElement> elementCount = dropDown.getOptions();
System.out.println("Number of items: " + elementCount.size());

//获取并打印所有选项

Select dropDown = new Select(driver.findElement(By.id("ddlTablePay")));
        List <WebElement> elementCount = dropDown.getOptions();
        int itemSize = elementCount.size();
        for(int i = 0; i < itemSize ; i++)
            String optionsValue = elementCount.get(i).getText();
            System.out.println(optionsValue);
        

【讨论】:

我使用了 ID 而不是 xpath,尽管 xpath 也确实有效。如果任何控件/元素都有 ID,则 ID 比 xpath 更可取。【参考方案6】:

Select selection= new Select(driver.findElement(By.id("Drop down id")));

int size=selection.getOptions().size();

【讨论】:

这个问题已经有了您提出的解决方案作为答案。没有必要再写一遍,尤其是一个将近 5 年的问题。

以上是关于如何使用 Java 计算 Selenium WebDriver 中选择下拉框中的选项数量?的主要内容,如果未能解决你的问题,请参考以下文章

如何计算 Selenium 测试相对于 Web 应用程序代码的代码覆盖率

如何使用 javascript 使用 selenium Webdriver 使用 java 设置所选 Web 元素的属性?

如何使用 Java 计算 Selenium WebDriver 中的 HTML 子标签

如何使用Selenium-Grid

如何使用Selenium-Grid

如何使用带有 java 的 selenium Web 驱动程序从下拉菜单中选择一个元素?