Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行循环时出错_Java_Loops_Selenium - Fatal编程技术网

Java 运行循环时出错

Java 运行循环时出错,java,loops,selenium,Java,Loops,Selenium,我在Selenium中运行了一个循环,并在执行时出错 int count=FilterByOption.size(); System.out.println(count); for (int i = 1; i < count; i++) { FilterByOption.get(1).click(); System.out.println("Group by filter Selected"); int count=FilterByOpti

我在Selenium中运行了一个循环,并在执行时出错

int count=FilterByOption.size();
    System.out.println(count);
    for (int i = 1; i < count; i++) {
        FilterByOption.get(1).click();
        System.out.println("Group by filter Selected");
int count=FilterByOption.size();
系统输出打印项次(计数);
对于(int i=1;i
错误是:

java.lang.IndexOutOfBoundsException:索引:1,大小:1


for循环从1开始,这将是FilterByOption的第二个索引。它应该从0开始

试试这个:

for (int i = 0; i < count; i++) {
for(int i=0;i

此外,此行
FilterByOption.get(1).单击();
将始终获得FilterByOption的第二个索引,我猜您希望将
.get(1)
替换为
.get(I)
。如果FilterByOption中只有一项,则调用
FilterByOption.get(1)
您将获得IndexOutOfBoundsException。

因为您看到的错误是:

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
它本质上意味着在
FilterByOption[1]
没有值,可能的原因是
列表
FilterByOption[]
只包含一个元素,可以被
FilterByOption[0]引用
。因此,您可以修改代码块并开始迭代
列表,如下所示:

int count=FilterByOption.size();
System.out.println(count);
for (int i = 0; i < count; i++) 
{
    FilterByOption.get(i).click();
    System.out.println("Group by filter Selected");
}
int count=FilterByOption.size();
系统输出打印项次(计数);
for(int i=0;i
从0
开始循环(int i=0;i
好吧,显然没有您试图访问的索引1的FilterByOption。但是另一个问题是:如果您根本不在循环中使用索引,而是硬编码值
FilterByOption.get(1),那么为什么要使用带有索引的循环
into it?表示您试图访问第一个元素,而列表中没有元素。