Как использовать элементы поиска для класса img?

#selenium #selenium-webdriver

Вопрос:

На элементе inspect я вижу, что количество записей равно 15, но при попытке использовать findelements его отображаются не все записи. Ниже приведен тег:

 <img class="md-user-avatar" ng-src="/../../resources/image_thumb.png" src="/../../resources/image4_thumb.png">
 

И я использую, как показано ниже:

 java.util.List<WebElement> elements = driver.findElements(By.xpath("//img[@class='md-user-avatar']"));
System.out.println("Number of elements:"  elements.size());
for (int i=0; i<elements.size();i  ){
    System.out.println("Radio button text:"   elements.get(i).getAttribute("value"));
}
 

Но он возвращает мне размер 1. И когда я запускаю //img[@class='md-user-avatar'] инспекционные элементы, он показывает мне 15 записей.

Комментарии:

1. Можете ли вы просмотреть все 15 изображений, не прокручивая их вниз ? Каков вывод System.out.println("Number of elements:" elements.size()); строки ?

2. выхода нет. Он просто печатает размер как 1

3. Можете ли вы поделиться URL-адресом ?

4. извини, но не могу. что еще тебе нужно?

5. Показать html-код.

Ответ №1:

попробуйте добавить какое-нибудь неявное ожидание или Thread.sleep перед выполнением findElements и посмотрите, работает ли это. Если это произойдет, вам придется использовать явное ожидание, чтобы убедиться, что все изображения загружены.

А если это не так, то в этом случае вам придется увидеть, как все 15 изображений отображаются вручную.