我想从列B中提取所有数据,然后使用for循环将其分配给变量。我使用此代码,但循环错误。 例如: 总行数= 10 变量1到变量10具有相同的数据;然后它会循环10次。所以数组变量的最终值都是相同的:(
for (int getAllAccts = 1; getAllAccts <= TotalRowCount.size(); getAllAccts++) {
try{
String[] accName = new String[TotalRowCount.size()]
for(int accNameCount=1; accNameCount < TotalRowCount.size(); accNameCount++){
accName[accNameCount] = driver.findElement(By.xpath("//*[@id='tbl-table1']/tbody/tr[" + (getAllAccts)+ "]/td[2]/a")).getText();
log.logWarning('Customer Name' + accNameCount + ' ' + accName[accNameCount])
}
}
catch(org.openqa.selenium.StaleElementReferenceException ex) {
String[] accName
for(int accNameCount=1; accNameCount < TotalRowCount.size(); accNameCount++){
accName[accNameCount] = driver.findElement(By.xpath("//*[@id='tbl-table1']/tbody/tr[" + (getAllAccts)+ "]/td[2]/a")).getText();
log.logWarning('Customer Name' + accNameCount + ' ' + accName[accNameCount])
}
}
}
答案 0 :(得分:0)
getAllAccts
在for循环的内部(嵌套)内部始终相同。因此,所有accName
都将具有相同的值。
更改
accName[accNameCount] = driver.findElement(By.xpath("//*[@id='tbl-table1']/tbody/tr[" + (getAllAccts)+ "]/td[2]/a")).getText();
到
accName[accNameCount] = driver.findElement(By.xpath("//*[@id='tbl-table1']/tbody/tr[" + (accNameCount)+ "]/td[2]/a")).getText();