Столкнулся с регрессией. Компонент визуально скрыт, но WebDriver упорно отвечает, что isDisplayed=true, а при попытке .click() соответственно валится с ElementNotFound. Вот сам элемент
Сейчас переводим приложение на React, часть ещё на Angular, так что периодически всплывают такие вот интересные аномалии...
Когда элемент виден, добавляется класс "show-dates", но, честно говоря, переделывать везде ожидание видимости на проверку наличия класса... это не наш метод. Да и не гарантирует он видимость-невидимость. Что делать, ребята? Пинать девелопера? Он клянётся, что всё работает как раньше на ангуляре, но по факту - нет.
Жди элемента по примеру:
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(ElementLocator));
или
new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(ElementLocator));
или проверяй boolean из
boolean visible = ExpectedConditions.visibilityOfElementLocated(ElementLocator);
не поможет, смотри другие проверки из ExpectedConditions