【发布时间】:2019-11-14 20:46:51
【问题描述】:
我正在自动从弹出窗口中抓取数据,其中包含 542 个值,例如 12/34、45/76、97/23 等。
我试图在控制台上打印这些值,然后分开并显示“/”之前和“/”之后的值的总和,例如 12+457+97 和 34+76+23。
我的以下代码正在执行并打印前 10 个值,但遇到错误:
"ArrayIndexOutOfBoundsException:1".
listOfActualValues.size() 的值显示正确的值,即 542。
下面的代码是从一列中获取值,其余 3 列工作正常,无需向下滚动并打印所有 542 个值。
int sum1=0; int sum2=0; int value1 = 0; int value2 = 0; int finalsum1=0; int finalsum2=0;
for(int av=va+1; av<listOfActualValues.size(); av++)
{
System.out.format("%25s",listOfActualValues.get(av).getText());
String str1 = listOfActualValues.get(av).getText().split("/")[1];
String str2 = listOfActualValues.get(av).getText().split("/")[0];
value1 = Integer.parseInt(str1);
value2 = Integer.parseInt(str2);
}
sum1 =sum1+value1;
sum2 = sum2+value2;
finalsum1 = sum1;
finalsum2 = sum2;
}
System.out.println(finalsum1);
System.out.println(finalsum2);
当我为另一个在单个列中只有 4 个值的弹出窗口运行相同的代码时,它的运行绝对正确。我是否需要使用 Javascript 向下滚动。
//div[3]/table/tbody/tr[*]/td[contains(text(), '' )][3],它的标签给了我 542 个元素 td style="width: 100px; color: #333; font-size: 14px; text-align:center;" xpath="2"> 1667/3818
【问题讨论】:
标签: selenium