2013-12-11 43 views
0

當窗格保持不變時,未進入視圖的元素。我相信如果我向下滾動窗格,也許它會解決這個問題?如何在webdriver中使用jscroll窗格滾動java

所以基本上我想向下滾動到一個元素,以進入可見性。

我需要添加哪些代碼到我的webdriver java?

我試着用下面沒有成功:

WebDriver driver = null; 
JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("$('#fed-panel').data('jsp').scrollToBottom()"); 

回答

0

我用下面的在我的代碼來處理只出現在一個下拉的一些Ajax對象。你可以用ObjectVisible替換下面的'this.objectExists'函數(這是我實現的東西)。

public void scrollDown(String identifier, String m){ 
      Boolean readyStateComplete = false; 
      int i=0; 

      while (!readyStateComplete) { 
        JavascriptExecutor js = (JavascriptExecutor)driver; 
        js.executeScript("window.scrollTo(0,Math.max(document.documentElement.scrollHeight," + 
                "document.body.scrollHeight,document.documentElement.clientHeight));"); 
        covlog.logIssue(CovLogger.DEBUG, "scrollDown","Scrolling for the " + ++i + " times"); 
        String tmp = js.executeScript("return document.readyState").toString(); 

       readyStateComplete = tmp.contentEquals("complete"); 
       //In case the object doesn't exists, break out of the loop 
       //the object might represent a spinner that shows that more 
       // records are downloaded. 
       if ((i%24)==0){ //24 is page size 
         if (!this.objectExists(identifier, m)){ 
          readyStateComplete = true; 
         } 
        } 
      } 
    }