You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium:如何通过ng-model获取<select>元素为List<Select>

解决方法:用NgWebDriver获取List
Selenium的Select类需要接收一个WebElement(必须是<select>标签)来初始化,你可以用Java流或者普通循环来完成转换:
用流的方式(简洁高效):

import org.openqa.selenium.support.ui.Select;
import java.util.stream.Collectors;

List<Select> selectList = selectWebElements.stream()
                                          .map(Select::new)
                                          .collect(Collectors.toList());

或者用普通for循环(更直观,适合新手):

import org.openqa.selenium.support.ui.Select;
import java.util.ArrayList;
import java.util.List;

List<Select> selectList = new ArrayList<>();
for (WebElement element : selectWebElements) {
    selectList.add(new Select(element));
}

这样处理后,selectList的长度就会是2,完全符合你的要求。需要注意的是,要确保所有定位到的WebElement确实是<select>标签,否则创建Select对象时会抛出UnexpectedTagNameException异常哦。

内容的提问来源于stack exchange,提问作者k_rollo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:55:18