2012-08-25 13 views
8

Przeszukuję dane za pomocą funkcji HtmlUnit na dynamicznej stronie internetowej, która korzysta z nieskończonego przewijania w celu dynamicznego pobierania danych, podobnie jak w przypadku kanału wiadomości Facebooka. Kiedyś następujące zdanie symulować przewijanie w dół zdarzenie:dynamiczna strona indeksowania za pomocą htmlunit

webclient.setJavaScriptEnabled(true); 
webclient.setAjaxController(new NicelyResynchronizingAjaxController()); 
ScriptResult sr=myHtmlPage.executeJavaScript("window.scrollBy(0,600)"); 
webclient.waitForBackgroundJavaScript(10000); 
myHtmlPage=(HtmlPage)sr.getNewPage(); 

Ale wydaje myHtmlPage pozostaje takie samo z poprzednim, czyli nowe dane nie są dołączane myHtmlPage wskutek mogę tylko czołgać pierwszy kilka danych na stronie internetowej. Dzięki za pomoc!

+0

Znalazłeś sposób wokół? –

+0

Jakieś rozwiązania? –

+0

Szukam również rozwiązań. Jakieś wyniki? – lummycoder

Odpowiedz

0

Szukałem tego samego. Mogłem tylko stwierdzić, że nie jest to wydarzenie przewijania (90% pewności). Na JS jest link, która jest odpowiedzialna za załadowanie strony i może może ci pomóc.

0

Miałem podobny problem, gdy zawartość została załadowana po załadowaniu strony. I rozwiązać go za pomocą:

webClient.getCurrentWindow().setInnerHeight(Integer.MAX_VALUE);

+1

nie działa dla mnie –

Powiązane problemy