如何使用 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 元素的属性?