2017-05-31 24 views
0

我有一個應用程序,我必須從網格的所有行讀取所有值。通過滾動網格所具有的滾動條加載這些值。 我使用下面的代碼,以滾動功能的如何檢查網格或表格的滾動按鈕是否已到達表格/網格的底部

WebElement scroll = driver.findElement(By.xpath("xpath of scroll bar")); 
    scroll.sendKeys(Keys.PAGE_DOWN); 

我想知道是否有知道滾動條滾動了表/格柵端部的方法嗎?

回答

0

您可以獲取當前表格的最大行數或行數,然後單擊下一頁。再次,採取行的數目,並與以前的計數進行比較。如果匹配,則滾動條達到最大值。

0

一般原理是檢查瀏覽器中window.pageYOffset的值。如果你的按鈕在底部完全滾動,那麼window.pageYOffset應該有一些正值(如果你得到'0',這意味着它沒有)。假設驅動變量保存您的webdriver的實例:

JavascriptExecutor executor = (JavascriptExecutor) driver; 
Long value = (Long) executor.executeScript("return window.pageYOffset;"); 

executeScript用來在瀏覽器運行JavaScript代碼。

OR
你並不需要向下的滾動窗口只使用ArrayList和獲取特定列或網格的父的XPath的所有元素:

1)聲明的ArrayList:

List<WebElement> var = new ArrayList<>(); 

2)Intialize VAR:

var=driver.findElements(By.xpath("xpath of parent class or div which contains that data")); 

3)使用用於環路用於打印或做任何你需要做的循環:

for (int i = 0; i < var.size(); i++) { 
     System.out.println(var.get(i).getText()); 
    } 

如果你得到表或網格的最後一個值/記錄它意味着窗口已完全向下滾動。我盡力幫助你。讓我知道它是否適合你。

+0

它的動態表格/網格,所以我沒有固定的數據進行交叉檢查。 – Mrudula

+1

好的,我編輯了我的答案。 –