2015-12-15 24 views
8

Bir HTML sayfasının kaynak kodunu almak istiyorum, ancak verileri dinamik olarak yükleyen ve alınan içeriği sayfaya ekleyen bir JS betiğine sahiptir.JS'nin içeriği yüklemesini bekledikten sonra bir HTML sayfası nasıl ayrıştırılır?

HTML ayrıştırmak için jsoup kullanıyorum, ancak yalnızca JS yürütme işleminden önce içeriği döndürür, bu nedenle dinamik olarak yüklenmiş verileri almıyorum.

Herhangi bir çerçeve, kısmi vb. Kullanarak kod yürütme işleminden sonra kaynak kodunu nasıl alabilirim?

+0

şey ("elementID") öğesi oluşturulduktan sonra outerHTML.. – Bindrid

+0

Bu JS betiğinin nasıl göründüğünü göster. –

+0

En iyi bahis Phantom ile çalıştırmak ve Phantom'un 'page.content'ini kullanmaktır. –

cevap

0

Şunları kullanabilirsiniz; Sayfa yüklenene kadar bekleyecektir.

Başka bir seçenek: Böyle

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

Ve kullanmak: document.getElementById gibi

whenAvailable("jsLoadFunction", function(t) { 
// do something 
}); 
İlgili konular