2014-10-02 3 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

Это в основном так, что я хотел бы сделать это, создав свой собственный метод, который является способом Прокрутите вниз:

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

+1

Размер пикселя в пикселях невелик. – djangofan

+0

Thx для вашего ответа! Когда я наберу «прокрутку вниз на 10000 пикселей», и страница не сможет прокрутить вниз. Будет ли это важно? – mrquad