이것은 오래된 질문이지만 전체 페이지로드를 찾고 있었지만 Spookyjs (casperjs 및 phantomjs를 사용하는)를 찾고 솔루션을 찾지 못했기 때문에 사용자 deemstone과 동일한 접근 방식으로 자체 스크립트를 만들었습니다. 이 접근 방식은 주어진 시간 동안 페이지가 요청을 수신하거나 시작하지 않으면 실행을 종료합니다.
casper.js 파일에서 (전역으로 설치 한 경우 경로는 /usr/local/lib/node_modules/casperjs/modules/casper.js와 같습니다) 다음 행을 추가하십시오.
모든 전역 변수가있는 파일 맨 위에 :
var waitResponseInterval = 500
var reqResInterval = null
var reqResFinished = false
var resetTimeout = function() {}
그런 다음 "var page = require ( 'webpage'). create ();"바로 뒤에있는 "createPage (casper)"함수 내부 다음 코드를 추가하십시오.
resetTimeout = function() {
if(reqResInterval)
clearTimeout(reqResInterval)
reqResInterval = setTimeout(function(){
reqResFinished = true
page.onLoadFinished("success")
},waitResponseInterval)
}
resetTimeout()
그런 다음 첫 번째 행의 "page.onResourceReceived = function onResourceReceived (resource) {"안에 다음을 추가하십시오.
resetTimeout()
"page.onResourceRequested = function onResourceRequested (requestData, request) {"에 대해서도 동일하게 수행하십시오.
마지막으로 첫 번째 줄의 "page.onLoadFinished = function onLoadFinished (status) {"에 다음을 추가하십시오.
if(!reqResFinished)
{
return
}
reqResFinished = false
그게 다야,이 사람이 나처럼 곤경에 처한 사람을 돕기를 바랍니다. 이 솔루션은 casperjs 용이지만 Spooky 용으로 직접 작동합니다.
행운을 빕니다 !