Selenium webDriverWait ожидание вновь созданного frame

218
11 мая 2018, 09:34

Создается новый frame, не обходимо переключится в него делаю так wait.Until(ch => ch.SwitchTo().Frame(1)); Выбрасывается ошибка фрейм не найден, если выставить паузу Thread.Sleep(3000); тогда фрейм находится и в него можно зайти. Но фрейм может грузится 5 сек и даже 40. Пробовал так wait.IgnoreExceptionTypes(typeof(NoSuchElementException)); ошибка остается. Есть способ не делая цикл обхода проверки доступности фрейма зайти в него?

Answer 1

Есть замечательный класс ExpectedConditions, а в нем метод FrameToBeAvailableAndSwitchToIt(By), который как раз ждет появления фрейма и переключает контекст в него:

wait.Until(ec.FrameToBeAvailableAndSwitchToIt(By.CssLocator('div.frame')))
READ ALSO
ComboBox WPF + ObservableCollection<>()

ComboBox WPF + ObservableCollection<>()

В общем есть ComboBox в который нужно передать значения через binding из ObservableCollectionПробовал сделать так, но выводит "First

199
Проблемы с наследованием в классах C#

Проблемы с наследованием в классах C#

Имеется сейчас два класса- один базовый, другой наследуется от первогоКод первого класса:

230
TopMost не работает в Windows CE 6.0 (Micros Workstation 5.0)

TopMost не работает в Windows CE 6.0 (Micros Workstation 5.0)

Создаю приложения для терминала Micros Workstation 5 (Windows CE 60)

209
Изменение роли без переавторизации

Изменение роли без переавторизации

У пользователя А несколько ролей, одна из которых "viewer"Удаляю роль:

209