Так запутался насчет этапа, когда вы пытаетесь найти элемент (до или после загрузки DOM).ExpectedConditions.visibilityOf (element) следует использовать только тогда, когда мы используем этот элемент, присутствующий в DOM, и ожидать его видимости.
Вам необходимо использовать ExpectedConditions.visibilityOfElementLocated - он гарантирует, что:
Когда вы используете ExpectedConditions.visibilityOf это не 'Проверьте, присутствует ли этот элемент в DOM.
У меня есть вопрос, вы инициализировали POM?Если нет, вам нужно инициализировать его следующим образом:
// To initialize elements.
MyPage myPage = PageFactory.initElements(driver, MyPage.class);
ИЛИ в конструкторе:
public MyPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}