2016-12-19 19 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

新発売/ sのセレンに期待されるように、コードがwebdriverwaitが動作するように、私は2.53であるセレンの古いバージョンを使用し、安定していません。

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を使用しています。 –

関連する問題