Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Ожидание, пока элемент не пропадет


(Alsu Vadimovna) #1

Привет!
Webdriver +C#
Мне нужно подождать, пока элемент не пропадет со страницы. Сейчас использую этот код:

public static bool IsElementNotPresent(this IWebDriver driver, By by, int timeoutInSeconds) {
		if (timeoutInSeconds > 0) {
			var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
			try {
				return wait.Until(drv => !drv.FindElement(@by).Displayed);
			}
			catch (Exception ex) {
				return true;
			}
		}
		return false;
	}

Код работает, но при этом ожидание происходит все время, которое я указала. Т.е. ставлю ожидание 150 секунд, все 150 секунд тест ждет, даже если элемент давно пропал.
С чем может быть связано? Может быть есть другие варианты реализации такого ожидания?


(vmaximv) #3

WebDriverWait игнорирует NoSuchElementException - с учетом этого перечитайте свой код.


(Alsu Vadimovna) #4

спасибо)