Индексировать исключенное исключение при переборе элементов с одинаковым именем в веб-драйвере selenium - PullRequest
1 голос
/ 09 октября 2019

Я автоматизирую мобильное приложение через appium, интегрированный с селеновым веб-драйвером + testng. Теперь проблема, с которой я сталкиваюсь, заключается в том, что у меня есть список задач, для каждой из которых у меня есть ссылка с тем же именем (например, VIEW) и именем класса (например, android.widget.TextView). Теперь я хочу нажать на эту конкретную ссылку «Просмотр», для которой я передаю имя задачи. Я использую следующий код, но он дает java.lang.IndexOutOfBoundsException: Index: 6, Size: 3 error.

    List<WebElement> list = driver.findElements(By.xpath("//android.widget.TextView[@enabled='true']")); //returing all the tasks 
        for(int i = 0 ; i< list.size() ; i++){

        String message1 = list.get(i).getText();
        //System.out.println(message1);
        if(message1.contains(ac+"-"+cnic)){
        Thread.sleep(10000);
        driver.findElements(By.xpath("//android.widget.TextView[@text='VIEW']")).get(i).click();
        }
        }

1 Ответ

1 голос
/ 09 октября 2019

Вы можете использовать цикл foreach вместо обычного цикла

 for (WebElement element : list ) {
        String message1 = element.getText();
        //System.out.println(message1);
        if(message1.contains(ac+"-"+cnic)){
        Thread.sleep(10000);
        element.click();
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...