2017-03-23 103 views
2

我需要向下滚动页面,直到在硒WebDriver结束,我试图通过使用JavaScriptExecutor jse6 =(JavascriptExecutor)驱动程序向下滚动页面; jse6.executeScript(“window.scrollBy(0,250)”,“”);如何向下滚动页面到底部(最后一页)在硒webdriver

滚动,但我需要向下滚动,直到尾页

+1

的可能的复制(http://stackoverflow.com/questions/12293158/page-scroll-up-or-down-in- [页或向下在硒的webdriver(硒2)用java向上滚动] selenium-webdriver-selenium-2-java-java) – JeffC

回答

4

我们必须使用JavascriptExecutor

要使用滚动协调

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)"); 

要滚动,直到页面

((JavascriptExecutor) driver) 
    .executeScript("window.scrollTo(0, document.body.scrollHeight)"); 
结束

滚动到任何元素

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

请不要回答已经回答的问题。将它们标记或标记为重复项,以便将它们清理干净。 – JeffC

0

为此,您可以手动获取页面末尾的任何对象的xpath。并使用下面的代码。

WebElement lastElement = 
driver.findElement(By.xpath("//a[@title='org.apache.spark download']")); 
int y = lastElement.getLocation().getY(); 
JavascriptExecutor js = (JavascriptExecutor)driver; 
js.executeScript("window.scrollTo(0,"+y+")"); 
Thread.sleep(3000);