#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 изображений отображаются вручную.