2015-12-15 5 views
8

Ich möchte den Quellcode einer HTML-Seite erhalten, aber es hat ein JS-Skript, das die Daten dynamisch lädt und den empfangenen Inhalt an die Seite anfügt.Wie analysiere ich eine HTML-Seite, nachdem ich darauf gewartet habe, dass JS den Inhalt lädt?

Ich verwende jsoup, um HTML zu analysieren, aber es gibt nur den Inhalt vor der JS-Ausführung zurück, so dass ich die dynamisch geladenen Daten nicht erhalte.

Wie kann ich den Quellcode nach der Skriptausführung mit irgendeinem Framework, CLI usw. erhalten?

+0

so etwas wie document.getElementById ("elementID") Outerhtml nachdem das Element gerendert wird.. – Bindrid

+0

Zeigen Sie, wie dieses JS-Skript aussieht. –

+0

Am besten ist es, es durch Phantom zu laufen und Phantoms 'page.content' zu verwenden. –

Antwort

0

Sie können verwenden;

$(window).load(); 

die bis in die Seite geladen wird warten.

Eine weitere Option:

function whenAvailable(name, callback) { 
var interval = 10; // ms 
window.setTimeout(function() { 
    if (window[name]) { 
     callback(window[name]); 
    } else { 
     window.setTimeout(arguments.callee, interval); 
    } 
}, interval); 
} 

Und es wie folgt verwenden:

whenAvailable("jsLoadFunction", function(t) { 
// do something 
}); 
Verwandte Themen