当前位置: 首页 > 知识库问答 >
问题:

如何修复“java.lang.IndexOutOfBoundsException:索引:1,大小:1”问题

朱皓
2023-03-14

我试图迭代元素,在这里我必须为每个元素获取文本体,但在打印第一个元素体之后,下一个元素体我将获得“java.lang.IndexOutOfBoundsException:Index:1,Size:1”。我知道这是非常简单的修复,但我无法修复它。请帮助我解决此问题。

在下面的代码中,当“String text=KpiText.get(i).getText();”第二次打印时出现“java.lang.IndexOutOfBoundsException:索引:1,大小:1”错误。

public void checkKPIValuesForTeam() throws InterruptedException{


        List<WebElement> userNames = DifferentUsers.findElements(By.xpath("//div[@class='radio sfa-radio-red']"));
        System.out.println(userNames.size());

       int maxLength = userNames.size();

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

        WebElement namesOfUsers = userNames.get(i);
        System.out.println(namesOfUsers);
        namesOfUsers.click();

        List<WebElement> KpiText = KPIValues.findElements(By.xpath("//*[@id='main-content-app']/div/div[2]/div/div/div[2]/div[2]/div[1]/div/div[1]"));
        System.out.println(KpiText.size());
        String text = KpiText.get(i).getText();
        System.out.println(text);

}

预计它应该为迭代打印所有元素的正文。

共有3个答案

姚建树
2023-03-14

如果您正在迭代List

   List<WebElement> KpiText = KPIValues.findElements(By.xpath("//*[@id='main-content-app']/div/div[2]/div/div/div[2]/div[2]/div[1]/div/div[1]"));

   for(int i=0; i < KpiText.size() - 1; i++){

    WebElement namesOfUsers = userNames.get(i);
    System.out.println(namesOfUsers);
    namesOfUsers.click();

    System.out.println();
    String text = KpiText.get(i).getText();
    System.out.println(text);
}

贺俊楚
2023-03-14

似乎是用户名。size()大于KpiText的大小。在引用KpiText列表时,确保索引实际存在。所以也许是一张支票

if(i < KpiText.size()){
 String text = ...
}
汪正雅
2023-03-14

问题很简单。您正在使用值“i”访问“KpiText”数组。在本例中,数组只有一个元素,因此索引1超出了界限,正如异常堆栈跟踪所述。

如果要全部打印,应执行以下操作:

for (WebElement element : KpiText)
   System.out.println(element.getText());
 类似资料:
  • 正如标题所说,我的问题是,当我编译时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:1,Size:1中得到了Exception。这是问题产生的部分。 编辑。 我一直在网上寻找解决方案,所以我很确定问题是数组太小,但我仍然不确定如何解决它。我试图让代码的上半部分只从数组中取出数字并将它们放入一个新的数组中。 这是我调用的其他方法。 我已经坚持

  • 我得到错误java.lang.IndexOutOfBoundsException:index:0,size:0。

  • 我想从数据库中选择值,但出现错误 我不知道我的代码哪里错了。。这是我在dbHelper中的代码。 我想得到其他类的值。我使用这个代码。 我一直在搜索,但没有找到错误的解决方案。有人能帮我吗?我真的需要解决办法,请帮帮我。。谢谢当做

  • 我复制了一个带有安装Debian、Nginx、PhpMyAdmin的vagrant box的项目。。在新项目中,Laravel的不再工作,我得到了错误: 当我做一个转储(结构数据)的工作项目数据库,并将其导入到数据库中,给出了迁移的错误,然后一切正常,它创建了所有的表和数据被导入。. 如何修复大小以便运行迁移方法?

  • 我知道有很多关于这个异常的线程,但是,我希望人们查看我的代码,并在我特别出错的地方帮助我。 下面是我的代码,用于尝试将用户输入存储到sqlite数据库,然后将代码传输并显示在新活动中。有人能告诉我哪里出错了,为什么这个错误不断发生?(标题错误) } 在DO块内尝试2:

  • 问题内容: 我收到一些奇怪的错误,这使我的Android应用程序崩溃了。它是一个测验应用程序。因此,当用户正确回答2/3问题时,单击下一步按钮将使其崩溃。并显示索引13错误。但我不知道在哪里修复/寻找。这是我的代码段。 日志猫的详细信息是这样的 更新 这是我的完整课程文件http://jquery404.com/file/GameScene.txt 问题答案: 在编程中,索引通常从0开始,因此,如