java - 在 Selenium webdriver 中用 java lambda 替换嵌套循环
问题描述
我有以下片段:
@FindBy(xpath = "//*[contains(@id,'Heading')]")
List<WebElement> accordianContainer;
public void repeatClickEleInArray(List<WebElement> array, int numRepeat) {
for (int i = 0; i < array.size(); i++) {
for (int j = 0; j < numRepeat; j++) {
wait = new WebDriverWait(driver, Duration.ofMillis(1000));
wait.until(ExpectedConditions.elementToBeClickable(accordianContainer.get(i))).click();
}
}
我用 lambda 替换它,但由于“get(i)”提供的类型错误而出错
array.forEach(i -> {
numRepeat(j -> {
wait = new WebDriverWait(driver, Duration.ofMillis(1000));
wait.until(ExpectedConditions.elementToBeClickable(accordianContainer.get(i))).click();
});
});
}
我该如何解决?
解决方案
推荐阅读
- cf-bosh - 超出配额“CPUS”
- ruby-on-rails - 能力:取决于对象的条件(允许:仅为团队成员创建)
- c - 为什么不出现“Warning C4172 return address of local variable or temporary”错误?
- python-3.x - 我的 Windows 10 上没有打开 anaconda 导航器
- android - 当我的应用程序多次最小化时,不调用片段 onPause()
- reactjs - 如何将状态设置为道具值并在第一次渲染时以表单形式显示该值
- android - Xamarin.Forms Android AOT 支持
- reactjs - 反应路由器开关和确切路径
- c++ - 通过参数传递 lambda(无函数类型模板)
- reactjs - 为什么我无法 npm install npm react-google-charts