Идея в том, что хочу кликать по кнопке “all”, результатом будет - исчезновение элемента указанного в while (“formular_title”).
Первое нажатие на кнопку - добавляет все элементы и только повторное нажатие всё очищает (и в том числе указанный элемент в в условии):
Но это решение корявое, приводит к сбоям. Подскажите новичку плиз.
def clear(self):
while self.is_element_present("formular_title"):
self.all.click()
Для таких случаев тебе нужно реализовать метод ожидания исчезновения элемента…
Но нужно учесть что сначала этот элемент необходимо найти То есть у нас 2 случая:
Исчезающий элемент еще не найден###
Ищем webElement по locator By через явные ожидания и ExpectedConditions.presenceOfElementLocated(locator)
Ожидаем пока этот элемент исчезнет с помощью ExpectedConditions.visibilityOf(webElement)
Исчезающий элемент уже не найден###
тогда просто используем вышестоящий пунктик номер 2
Советую реализовать методы для обоих случаев, причем задать отдельные тайм ауты на поиск элемента и на ожидание исчезновения.
Ну python так python
Но я про другое немного… так ты легко проверишь что найденный элемент видимый… а вот попробуй сделать так чтобы дождаться пока краткоживущий элемент пропадет (это если я правильно понял задачу от автора)
Вот а если к тому моменту как пройдет твой тайм аут на поиск элемента он ЕЩЕ не появится, а как пройдет тайм аут как раз и выглянет и потом будет висеть некоторое время блокируя дальнейший функционал
Я имел ввиду следующее:
Логинимся, видим некий фрейм в котором отображаются несколько вкладок (каждая содержит некоторое количество элементов).
Так вот, мне надо, после логина очищать это фрейм.
Слева есть меню, в нем кнопка “все”. При нажатии на неё, все объекты которые указаны в этом левом меню отображаются в основном фрейм, при повторном нажатии они скрываются.