Size: a a a

Selenide на русском

2020 June 17

V

Vladimir in Selenide на русском
Dmitriy Ukhatkin
Всем привет)подскажите, не понимаю почему не работает.
Если я напишу ElementsCollection allSeats = $$("path.st3").filterBy(Condition.attribute("id"));
то должны все элементы отфильтроваться так что в коллекции останутся только элементы у которых есть id)
соответственно первый элемент который на скрине не должен входить в коллекцию)
Попробуй #Seats>path.seat_available
источник

DU

Dmitriy Ukhatkin in Selenide на русском
попробовал, все равно, первый элемент у которого нет id, входит в коллекцию
источник

V

Vladimir in Selenide на русском
Dmitriy Ukhatkin
попробовал, все равно, первый элемент у которого нет id, входит в коллекцию
А зачем вообще фильтр? path.seat_available
источник

DU

Dmitriy Ukhatkin in Selenide на русском
не все так просто) seat_available потом использую, но сначала надо отфильтровать коллекцию имменно так, чтобы. в элементах был id, то  есть первого элемента на скрине без id не было в коллекции
источник

V

Vladimir in Selenide на русском
Судя по всему айдишники есть у свободных мест, чем мой локатор не подходит?)
источник

DU

Dmitriy Ukhatkin in Selenide на русском
ну в дебаге значение 0 у коллекции
источник

V

Vladimir in Selenide на русском
path.st3
источник

DU

Dmitriy Ukhatkin in Selenide на русском
я так изначально и писал
источник

DU

Dmitriy Ukhatkin in Selenide на русском
$$("path.st3").filterBy(Condition.attribute("id"));
источник

V

Vladimir in Selenide на русском
Сколько элементов возвращает?
источник

DU

Dmitriy Ukhatkin in Selenide на русском
в таком виде 15
источник

DU

Dmitriy Ukhatkin in Selenide на русском
то есть 14 элементов у которого есть id
источник

DU

Dmitriy Ukhatkin in Selenide на русском
и один(первый) который тоже идет как path.st3 но без id
источник

V

Vladimir in Selenide на русском
.//path[contains(@id,'Seat')]
источник

V

Vladimir in Selenide на русском
А так?
источник

SC

Sergey Chevychelov in Selenide на русском
$$x("локатор").stream().filter(one -> one.getAttribute("id") != null).collect(Collectors.toList())
источник

DU

Dmitriy Ukhatkin in Selenide на русском
Vladimir
А так?
в дебаге вместо значения вылетает сообщение Unable to evaluate the expression Method threw 'org.openqa.selenium.InvalidSelectorException' exception.
источник

V

Vladimir in Selenide на русском
$$x(".//path[contains(@id,'Seat')]") - так писал?
источник

DU

Dmitriy Ukhatkin in Selenide на русском
нет, сейчас попробую правильно написать
источник

DU

Dmitriy Ukhatkin in Selenide на русском
ElementsCollection allSeats = $$x(".//path[contains(@id,'Seat')]");
то есть таким образом?
источник