Bu eski bir soru, ama tam sayfa yükü aradığımdan ancak Spookyjs (casperjs ve phantomjs kullanan) ve çözümümü bulamadığım için, kullanıcı komut dosyası ile aynı yaklaşımla kendi senaryomu yaptım. Bu yaklaşımın yaptığı, belirli bir süre boyunca, sayfa herhangi bir istek almazsa veya başlatmazsa, yürütmeyi sonlandırır.
Casper.js dosyasında (global olarak yüklediyseniz, yol /usr/local/lib/node_modules/casperjs/modules/casper.js gibi bir şey olacaktır) aşağıdaki satırları ekleyin:
Tüm global değişkenlerle dosyanın üst kısmında:
var waitResponseInterval = 500
var reqResInterval = null
var reqResFinished = false
var resetTimeout = function() {}
Daha sonra, "var page = requir ('web sayfası'). Create ();" aşağıdaki kodu ekleyin:
resetTimeout = function() {
if(reqResInterval)
clearTimeout(reqResInterval)
reqResInterval = setTimeout(function(){
reqResFinished = true
page.onLoadFinished("success")
},waitResponseInterval)
}
resetTimeout()
Sonra ilk satırdaki "page.onResourceReceived = function onResourceReceived (resource) {" içine şunu ekleyin:
resetTimeout()
"Page.onResourceRequested = function onResourceRequested (requestData, request) {" için de aynısını yapın
Son olarak, ilk satırdaki "page.onLoadFinished = function onLoadFinished (status) {" üzerinde şunu ekleyin:
if(!reqResFinished)
{
return
}
reqResFinished = false
Ve bu kadar, umarım bu benim başım belada olan birine yardım eder. Bu çözüm casperjs içindir ancak doğrudan Spooky için çalışır.
İyi şanslar !