List<WebElement> statusvalues = driver.findElements(By.id("ddlStatus"));
for (WebElement option : statusvalues)
{
  System.out.println(option.getText());
}


这是我以前编写的脚本。

系统未提供错误,但我没有得到结果。我需要在输出中写入五个下拉值。 HTML代码如下。

<select id="ddlStatus" name="Status" class="full-width" data-role="dropdownlist" style="display: none;">
    <option value="" selected="selected"> -- Select -- </option>
    <option value="11">Arts</option>
    <option value="13">Science</option>
    <option value="14">Engineering</option>
    <option value="64">Law</option>
    <option value="85">Teaching</option>
    <option value="87">Journalist</option>
</select>


仅研究selenium Webdriver以及如何在输出中写入下拉值。

最佳答案

List<WebElement> statusvalues = driver.findElements(By.id("ddlStatus"));


它是一个元素,而不是元素集合,因此您需要执行以下操作:


WebElement selectElement = driver.findElement(By.id("ddlStatus"));


在该元素中,您可以选择进行收集:

List<WebElement> options = selectElement.findElements(By.tagName("option"));



现在你可以循环...


尝试:

List<WebElement> statusvalues = driver.findElement(By.id("ddlStatus")).findElements(By.tagName("option"));
for (WebElement option : statusvalues)
{
   System.out.println(option.getText());
}

09-18 13:38