我有一個應用程序,我必須從網格的所有行讀取所有值。通過滾動網格所具有的滾動條加載這些值。 我使用下面的代碼,以滾動功能的如何檢查網格或表格的滾動按鈕是否已到達表格/網格的底部
WebElement scroll = driver.findElement(By.xpath("xpath of scroll bar"));
scroll.sendKeys(Keys.PAGE_DOWN);
我想知道是否有知道滾動條滾動了表/格柵端部的方法嗎?
我有一個應用程序,我必須從網格的所有行讀取所有值。通過滾動網格所具有的滾動條加載這些值。 我使用下面的代碼,以滾動功能的如何檢查網格或表格的滾動按鈕是否已到達表格/網格的底部
WebElement scroll = driver.findElement(By.xpath("xpath of scroll bar"));
scroll.sendKeys(Keys.PAGE_DOWN);
我想知道是否有知道滾動條滾動了表/格柵端部的方法嗎?
您可以獲取當前表格的最大行數或行數,然後單擊下一頁。再次,採取行的數目,並與以前的計數進行比較。如果匹配,則滾動條達到最大值。
一般原理是檢查瀏覽器中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());
}
如果你得到表或網格的最後一個值/記錄它意味着窗口已完全向下滾動。我盡力幫助你。讓我知道它是否適合你。
它的動態表格/網格,所以我沒有固定的數據進行交叉檢查。 – Mrudula
好的,我編輯了我的答案。 –