我需要验证列表中的所选项目是“迄今为止”。当我尝试使用getAttribute时,我得到其他项的输出null,并且对于所选项目为true,但我没有在控制台中看到它们的名称。列表中有4个项目,我看到的只有null,null,null,true。但我的主要目标是验证列表中的所选项目。谢谢你的帮助!
HTML页面:
这是我的代码:
WebElement defaultItem = driver.findElement(By.xpath("//*[@id='myAddNewCampaignForm']/ol/li[16]/select"));
List<WebElement> allOptions = defaultItem.findElements(By.tagName("option"));
System.out.println("total items " + allOptions.size());
for (int i=0; i<allOptions.size(); i++) {
System.out.println(allOptions.get(i).getText());
System.out.println(allOptions.get(i).getAttribute("selected"));
}
答案 0 :(得分:1)
导入此
import org.openqa.selenium.support.ui.Select
使用Select class控制下拉对象。
WebElement defaultItem = driver.findElement(By.xpath("//*[@id='myAddNewCampaignForm']/ol/li[16]/select"));
Select select = new Select(defaultItem);
List<WebElement> selectedOptions = select.getAllSelectedOptions();
for(WebElement option : selectedOptions){
System.out.println(option.getText());
}