如何使用selenium webdriver向下滚动具有分页的特定div页面

时间:2016-08-17 08:02:51

标签: java selenium selenium-webdriver webdriver

我正在尝试向下滚动页面并获取该部分/ div的最后一个元素。 我已经执行了代码:

Coordinates coordinate = ((Locatable)element).getCoordinates();
    coordinate.inViewPort();

并尝试了

JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("scroll(0, 250)");

但它滚动整个页面而不是滚动特定部分 enter image description here

页面也有分页

2 个答案:

答案 0 :(得分:2)

首先,你需要找到你想要滚动到的元素:

WebElement element = driver.findElement(By.xpath("xpath_here")); //or anything else used to identify the element

之后,您可以使用JavascriptExecutor执行JS,以使用scrollIntoView()将元素置于视图中:

((JavaScriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", element);

答案 1 :(得分:0)

您尝试过的内容会滚动窗口滚动条,尝试下面的内容

JavascriptExecutor je = (JavascriptExecutor) dr;  
je.executeScript("arguments[0].scrollIntoView(true);",dr.findElement(By...));

通过向下滚动指定要查找的元素的定位器。

参数[0]

编辑:

JavascriptExecutor je = (JavascriptExecutor) dr;  
je.executeScript("arguments[0].scrollTop(arguments[0].scrollHeight);",dr.findElement(By...));