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

Метод клика на элемент до тех пор пока не исчезнет - Unreachable browser exception

selenium
webdriver
java
Теги: #<Tag:0x00007f7b652525a0> #<Tag:0x00007f7b652523c0> #<Tag:0x00007f7b65252208>

(Srx) #1

На сайте в одном месте клик не отрабатывает с первого раза, сделал метод который кликает на элемент до тех пор пока он не исчезнет. Иногда тесты валятся с экзепшном Unreachable browser exception. И выскакивает попап “Command line server for the IE driver has stopped working”. Тесты должны работать именно в IE. Другие браузеры не запускаю. Не могу разобраться что не так. Посмотрите плз те кто с кодом больше на “ты”.

public void clickUntilDissapeared(By locator) {
		int i = 0;
		while (i < 5) {
			try {
				WebDriverWait wait = new WebDriverWait(driver, 2);
				wait.until(ExpectedConditions.visibilityOfElementLocated(locator)).click();
				try {
					wait.until(ExpectedConditions.invisibilityOfElementLocated(locator));
				} catch (TimeoutException t) {
					i++;
				}
			} catch (StaleElementReferenceException s) {
				i++;
			} catch (TimeoutException t) {
				i = 6;
			}
		}

	}

(Srx) #2

Сразу скажу что “wait.until(ExpectedConditions.elementToBeClickable” с этим элементом не работает.


(Ray Romanov) #3

По логике я бы сделал так:

повторять не вернется true или выйдет время
  try
    если локатор виден то клик иначе возвращаем true
      try    
        ждем исчезновения T времени если исчез ставим флаг что все норм
      catch ставим флаг что не норм с проверкой истекшего времени
    возвращаем true
catch проверяем истекшее время и возвращаем false