我想从一个有无尽滚动的网页上获取一些数据(基本上是图片)。要获取数据,我需要单击一个按钮。对于某些情况,页面有所不同,有时在5个元素之后或有时在250个元素之后结束。目前我尝试了以下内容:
lastElement = driver.findElement(By.id("picture_id"));
WebElement submit_button = driver.findElement(By.xpath("//input[@value='Submit']"));
submit_button.click();
但是,页面无法刷新。
在硒中处理无尽滚动的正确方法是什么?如何处理页面上的大量元素,特别是如果它是一些heavy content
类似的图片,通常不会加载得非常快?
感谢您的回答!
答案 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)");
}