Задача проста: при движении по странице снизу вверх появляется "всплывающее меню". соответственно нужно кликнуть в один из элементов
Вот пример простейшего теста для подобной ситуации в открытом доступе
@Test
public void myTest() throws Exception {
driver.get("https://www.virtuoso...ohidingnavbar/");
WebElement myElem = driver.findElements(By.cssSelector("[class = 'table table-striped table-bordered docs']")).get(1);
Actions actions = new Actions(driver);
actions.moveToElement(myElem).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).sendKeys(Keys.ARROW_DOWN).build().perform();
actions.moveToElement(myElem).sendKeys(Keys.ARROW_UP).sendKeys(Keys.ARROW_UP).sendKeys(Keys.ARROW_UP).sendKeys(Keys.ARROW_UP).build().perform();
myElem = driver.findElements(By.cssSelector("li")).get(12);
wait.until(elementToBeClickable(myElem));
//Thread.sleep(3000);
myElem.click();
}
Если убрать комментарий с Thread.sleep то все работает. Но sleep как известно - зло. Подскажите пожалуйста что не так с использованием elementToBeClickable. И как сделать нормальное ожидание в данной ситуации?