Selenium-getfirstselectedoption方法太慢了

时间:2015-04-21 12:38:50

标签: selenium webdriver

我使用getfirstselectedoption.gettext()方法获取下拉列表中的默认选定值,这有助于减少执行时间,因为我需要每次都选择该下拉列表中的值。但是需要大约15到20秒才能获得默认选择值。下拉包含近180个字符串值。我不明白为什么要花那么多时间。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

浏览Selenium APIassociated 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"));
}

所以你期望在第一次击中循环时停止是不正确的;它必须先获取所有选项。