Я пытаюсь ждать элемента, чтобы быть видимыми, так что я бы установить неявное ожидание в методе ниже:неявные ожидания не работает в селеном WebDriver
public boolean isDisplayed(String xpathElement,int timeOut) {
boolean found = true;
try {
driver.manage().timeouts().implicitlyWait(timeOut , TimeUnit.SECONDS);
driver.findElement(By.xpath(xpathElement)).isDisplayed();
} catch(NoSuchElementException e) {
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
found = false;
}
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
return found;
}
я свести на нет неявного ждать, потому что я использую webDriverWait
, и я не хочу иметь проблемы, но isDisplayed()
показывает, что элемент все еще не отображается, и он показывает, что тайм-аут составляет 0 секунд, а не таймаут, который был передан в методе.
Есть ли причина, по которой вы решили не использовать функциональность «явного ожидания», которая может соответствовать вашей цели? –
Привет, Марк, спасибо за ваш комментарий, что я хочу, чтобы этот метод был доступен через весь мой проект и не зависел от конкретного тестового примера, но вы правы, я действительно могу использовать явное ожидание «elemenetToBeClicable», я решаю проблему –