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());
}