我想从无休止滚动的网页中获取一些数据(主要是图片)。要获取数据,我需要单击一个按钮。页面在某些情况下会有所不同,有时会在 5 个元素后结束,有时会在 250 个元素后结束。目前我尝试了以下方法:
lastElement = driver.findElement(By.id("picture_id"));
WebElement submit_button = driver.findElement(By.xpath("//input[@value='Submit']"));
submit_button.click();
但是,页面不会刷新。
在 selenium 中处理无限滚动的正确方法是什么?如何处理页面上的大量元素,尤其是图片等重量级内容
,通常加载速度不是很快?
感谢您的回答!
最佳答案
这基本上是我会做的方式,通过创建我自己的方法,即 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)");
}
关于java - 在 selenium 中无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163026/