使用Selenium Java在一个for循环中使用多个List web元素


List<WebElement> one =driver.findElements(By.cssSelector("div[id='divdiscountcheckbox'] input[type='checkbox']")); 
List<WebElement> two =driver.findElements(By.cssSelector("div[id='divdiscountcheckbox'] em")); 

for(WebElement each :two) 
{
System.out.println(each.getText());
}

查询:I need to do one。isSelected + two.gettext()只使用一个for循环,并且两个列表大小相同。如何做到这一点?

List<WebElement> one = driver.findElements(By.cssSelector("div[id='divdiscountcheckbox'] input[type='checkbox']"));
List<WebElement> two = driver.findElements(By.cssSelector("div[id='divdiscountcheckbox'] em"));

// if sizes are not equal
int oneSize = one.size();
int twoSize = two.size();
int maxSize = 0;
if (oneSize > twoSize) {
maxSize = twoSize;
}
else {
maxSize = oneSize;
}

for (int i = 0; i < maxSize; i++) {
// .isSelected() made by click?
one.get(i).click();
try {
Thread.sleep(500);
}
catch (InterruptedException e) {

}
System.out.println(two.get(i).getText());
}

最新更新