2013-11-14 3 views
-1

У меня проблема с Selenium, кажется, что я не могу использовать WebDriverWait() непосредственно перед оператором if/else. Код:Selenium-WebDriverWait() не работает непосредственно перед оператором if/else?

WebDriver driver;  
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() { 
    public Boolean apply(WebDriver d) { 
     return d.getTitle().toLowerCase().contains("site name"); 
    } 
}); 
if(stuff!=false){ 
    return "the good stuff" 
} 
else{ 
    return "the bad stuff" 
} 

Этот код работает в любом другом месте, и я не могу найти способ, чтобы исправить это. У кого-нибудь есть другой способ сделать это?

+1

Что такое ошибка/исключение при запуске этого кода? Добавьте ';' к операторам в 'if/else'; Наверное, это просто опечатка. – Faiz

+0

Что заставляет вас сделать вывод, что вы не можете использовать его перед if/else. – MxyL

ответ

0

Итак, я нашел хороший кусок кода на сайте селена:

WebDriver driver; 
int seconds; 
WebDriverWait wait = new WebDriverWait(driver, seconds); 
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("id"))); 

Это гораздо более простой способ получения свободно ждать. Кроме того, кажется, что все отлично работает во всех ситуациях.

Смежные вопросы