2016-12-19 7 views
0

Кажется, что мой код верен, но не работает должным образом, Webdriver действительно не работает в моем коде. Сначала я хочу, чтобы страница была загружена, прежде чем вернуться на предыдущую страницу. Ниже мой код.Webdriverwait не работает должным образом

Browser.clickElement(MenuButton, "XPath", _driver); 

     Browser.clickElement(Menus[i], "XPath", _driver); 

     for(int j=0; j<1; j++) //StrategySubLinks.length; 
     { 
      Browser.clickElement(StrategySubLinks[j], "XPath", _driver); 
      //wait for a certain element to be visible before going back to the previous page 
      //wait for the footer link 
      WebDriverWait wait = new WebDriverWait(_driver, 5); 
      wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"asdfdasf-asdfasdfcookie\"]/p/a[2]"))); 



      //go back to previous page 
      //_driver.navigate().back(); 
      _driver.navigate().refresh(); 
      JavascriptExecutor js = (JavascriptExecutor) _driver; 
      js.executeScript("window.history.back();"); 

ответ

0

Новый релиз/с селена не является стабильным, я использовал старую версию селена, который является 2,53, так что код webdriverwait будет работать, как ожидалось.

1

Попробуйте ниже:

WebDriverWait wait = new WebDriverWait(dr, 30); 
wait.until(ExpectedConditions.jsReturnsValue("return document.readyState==\"complete\";")); 

void waitForLoad(WebDriver driver) { 
    ExpectedCondition<Boolean> pageLoadCondition = new 
     ExpectedCondition<Boolean>() { 
      public Boolean apply(WebDriver driver) { 
       return ((JavascriptExecutor)driver).executeScript("return document.readyState").equals("complete"); 
      } 
     }; 
    WebDriverWait wait = new WebDriverWait(driver, 30); 
    wait.until(pageLoadCondition); 
} 
+0

Привет, Абхинав, благодарю вас за ответ, но он не работает. –

+0

Привет, все тот же. .не работает. –

+0

Правильно ли работает ваш код в конце? Я использую eclipse и java в качестве языка программирования. –

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