我使用getfirstselectedoption.gettext()方法获取下拉列表中的默认选定值,这有助于减少执行时间,因为我需要每次都选择该下拉列表中的值。但是需要大约15到20秒才能获得默认选择值。下拉包含近180个字符串值。我不明白为什么要花那么多时间。任何帮助将不胜感激。
答案 0 :(得分:1)
浏览Selenium API和associated source告诉您:.getFirstSelectedOption()
是:
public WebElement getFirstSelectedOption() {
for (WebElement option : getOptions()) {
if (option.isSelected()) {
return option;
}
}
throw new NoSuchElementException("No options are selected");
}
和getOptions()
是:
/**
* @return All options belonging to this select tag
*/
public List<WebElement> getOptions() {
return element.findElements(By.tagName("option"));
}
所以你期望在第一次击中循环时停止是不正确的;它必须先获取所有选项。