2014-10-02 73 views
1

我想從無限滾動的網頁獲取一些數據(基本上是圖片)。要獲取數據,我需要點擊一個按鈕。該頁面在某些情況下有所不同,有時在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

這基本上是我會做,通過創建我自己的方法,它是一種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)"); 
} 
+0

THX你的答案!我不明白的是,什麼是「pix」,爲什麼它設置爲「250」? – mrquad 2014-10-02 15:12:36

+1

var pix是像素的簡稱。 – djangofan 2014-10-02 19:43:01

+0

Thx爲您的答案!當我放入「向下滾動10000像素」時,頁面不能向下滾動。這很重要嗎? – mrquad 2014-10-02 20:03:35