如何检查网格或表格的滚动按钮是否已达到表格/网格的底部

时间:2017-05-31 10:13:32

标签: java selenium-webdriver

我有一个应用程序,我必须从网格的所有行读取所有值。在滚动网格所具有的滚动条时加载值。 我使用以下代码滚动 -

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

我想知道是否有办法知道滚动条已滚动到表/网格的末尾?

2 个答案:

答案 0 :(得分:0)

您可以获取表格或行数的当前最大行数,然后单击页面向下。再次,取no行并将其与之前的计数进行比较。如果匹配则滚动条达到最大值

答案 1 :(得分:0)

一般原则是在浏览器中检查window.pageYOffset的值。如果你的按钮完全在底部滚动,那么window.pageYOffset应该有一些正值(如果你得到'0'则意味着它没有)。假设驱动程序变量保存WebDriver实例:

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

executeScript用于在浏览器中运行JavaScript代码。


您不需要向下滚动窗口只需使用Arraylist并获取特定列或网格的父xpath的所有元素:

1)声明ArrayList:

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

2)初始化var:

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

3)使用for循环进行打印或在此循环中执行任何操作:

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

如果您获得表格或网格的最后一个值/记录,则表示窗口已完全向下滚动。我尽力帮助你。让我知道它是否适合你。