Meine HTML-Webseite hat Javascript, das Stylesheets dynamisch lädt und anwendet. Der gesamte Inhalt und das Rendering finden innerhalb eines div-Tags statt. Dies lädt nicht den Inhalt des div-Tags, das die ID = 'tagid' hat. Weißt du was hier falsch ist? Ich verwende jquery Funktion, um sicherzustellen, dass die Seite geladen ist. Aber es scheint, dass page.evaluate nicht einmal aufgerufen wird.loading DOM mit phantomjs
Ich schreibe Komponententests mit Phantomjs. Neu bei den Phantomjs. Beziehen Sie sich auf das Code-Snippet unten.
page.open(address, function(status){
console.log('status '+status)
if(status=='success'){
console.log('inside status if ')
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", function() {
console.log('after include js ')
page.evaluate(function(){
console.log('inside evlaute ')
$(window).load(function(){
console.log(document.getElementById("tagid").innerHTML)
});
});
setTimeout(function(){phantom.exit()},18000)
})
}
})
Der Aufruf von '$ (window) .load (...)' nach dem Laden der Seite macht keinen Sinn. Der Rückruf wird niemals aufgerufen. –