在硒中无尽的滚动

时间:2014-10-02 14:26:04

标签: java selenium selenium-webdriver

我想从一个有无尽滚动的网页上获取一些数据(基本上是图片)。要获取数据,我需要单击一个按钮。对于某些情况,页面有所不同,有时在5个元素之后或有时在250个元素之后结束。目前我尝试了以下内容:

lastElement = driver.findElement(By.id("picture_id"));
WebElement submit_button = driver.findElement(By.xpath("//input[@value='Submit']"));
submit_button.click();

但是,页面无法刷新。

在硒中处理无尽滚动的正确方法是什么?如何处理页面上的大量元素,特别是如果它是一些heavy content类似的图片,通常不会加载得非常快?

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

这基本上是我通过创建自己的方法(即scrollDown方法)来实现的:

import org.openqa.selenium.JavascriptExecutor;
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
...
public void scrollDownPage( int pix ) {
    if ( pix <= 0 || pix > 1000 ) pix = 250;
    jse.executeScript("scroll(0, pix)");
}