Как прочитать текст всех елементов ElementsCollection?

Теги: #<Tag:0x00007f7384290f28> #<Tag:0x00007f7384290e38> #<Tag:0x00007f7384290d70> #<Tag:0x00007f7384290bb8> #<Tag:0x00007f7384290af0>

На странице есть несколько div с датой
я нахожу их с помощью

ElementsCollection result = $$(byClassName("created-date"));

Как мне проверить что в каждом найденном div есть строка, например “22/06/2021”?

for(SelenideElement element : result){
  element.shouldHave(text(“22/06/2021”));
}

можно с помощью Selenide-овских методов
хотя вариант сверху все таки читабельнее
result.shouldBe(CollectionCondition.allMatch(“all elements have text”, e → e.getText().contains(“22/06/2021”)));

1 симпатия

В целом оба вариант ок, но не забудьте ещё проверить размер коллекции.
А то может получится, что коллекция пустая и никаких дат там нет (например, банально неверный селектор) - а тест будет зелёным.

1 симпатия