Получение java.lang.IndexOutOfBoundsException: индекс: 0, размер: 0 исключение - PullRequest
0 голосов
/ 24 октября 2018

Я получаю эту ошибку java.lang.IndexOutOfBoundsException: Index: 0, Size: 0, и это мой код.

WebElement Case_table = driver.findElement (By.id ("ServiceCommunityTemplate")));WebElement tablebody = Case_table.findElement (By.tagName ("tbody"));

    List<WebElement> rows = tablebody.findElements(By.tagName("tr"));
    Thread.sleep(12000);

    int count = rows.size();
    System.out.println("ROW COUNT : "+count);

    List<WebElement> colHeaderName = rows.get(0).findElements(By.tagName("th"));
    List<WebElement> colHeader = driver.findElements(By.xpath(".//*[@id='ServiceCommunityTemplate']//table/thead/tr[2]/th"));
    System.out.println("total number of Columns are : " + colHeader.size());
    System.out.println("---------------");
    int colcount = colHeader.size();



        for(int i=1; i<count-1; i++){
            List<WebElement> colVals = rows.get(i).findElements(By.tagName("th"));
            for(int j=0; j<colcount-1; j++){
                    System.out.print(colVals.get(j).getText()+ "\t");

                }
            System.out.println("");
            System.out.println("-----------------------------------------------------------------------------");

Может кто-нибудь сказать мне, почему я получаю эту ошибку.

1 Ответ

0 голосов
/ 24 октября 2018

java.lang.IndexOutOfBoundsException выдается, когда вы пытаетесь извлечь элемент из списка, но в списке нет элемента с указанным индексом.

Из вашего исключения ясно, что вы пытаетесь получить элемент синдекс 0 (т. е. первый элемент), но размер списка равен 0 (т. е. пустой список).

это может произойти либо в строке

List<WebElement> colHeaderName = rows.get(0).findElements(By.tagName("th"));

, что может произойти в приведенном выше коде, если вы былиневозможно найти WebElement с именем тега tr в элементе tableBody (List<WebElement> rows = tablebody.findElements(By.tagName("tr"));

или в строке

System.out.print(colVals.get(j).getText()+ "\t");

, что может произойти, если вы не смогли найти какой-либо th элементы в одной из ваших строк (List<WebElement> colVals = rows.get(i).findElements(By.tagName("th"));)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...