我有一个应用程序,我必须从网格的所有行读取所有值。在滚动网格所具有的滚动条时加载值。 我使用以下代码滚动 -
WebElement scroll = driver.findElement(By.xpath("xpath of scroll bar"));
scroll.sendKeys(Keys.PAGE_DOWN);
我想知道是否有办法知道滚动条已滚动到表/网格的末尾?
答案 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());
}
如果您获得表格或网格的最后一个值/记录,则表示窗口已完全向下滚动。我尽力帮助你。让我知道它是否适合你。