Я пытаюсь создать функцию для фильтрации ElementsCollection с условием для дочернего элемента каждого элемента вместо самого элемента.

Вот что я придумал:

 public static ElementsCollection filterByChild(ElementsCollection elementsCollection, String childCssSelector,
        Condition condition) {

        Predicate<SelenideElement> childHasConditionPredicate = element -> element.$(childCssSelector).has(condition);
        elementsCollection.removeIf(childHasConditionPredicate);
        return elementsCollection;
    }

При вызове этой функции так:

myCollection = SelenideHelpers.filterByChild(myCollection, "a", Condition.text("http://www.link.com");

Я получаю следующее сообщение об ошибке:

java.lang.UnsupportedOperationException: Cannot remove elements from web page

Я не нашел соответствующей информации об этом сообщении об ошибке, которое можно было бы применить к моему коду. Я хотел бы знать, почему появляется это сообщение.

3
Eldy 13 Ноя 2017 в 13:19

1 ответ

Лучший ответ