전역 변수 var linkArray=[]
을 선언했지만 phantomJS
함수 내부에서 선택되지 않았습니다. 오류 메시지는 phantom stdout: ReferenceError: Can't find variable: linkArray
입니다. 이것을 어떻게 찾을 수 있습니까? window.linkArray
으로 선언했지만, 헤드리스 응용 프로그램이므로 다른 오류 (ReferenceError: window is not defined
)가 발생합니다.전역 적으로 정의 된 변수를 찾을 수 없음
따라서 저는 var linkArray=[]
을 전역으로 만드는 방법이 필요합니다.
var phantom = require('phantom');
var linkArray=[];
phantom.create(function (ph) {
ph.createPage(function (page) {
var main_file="file:///C:/whatever/index.html";
page.open(main_file, function (status) {
console.log("opened " + main_file +"\n",status+"\n");
page.evaluate(function() {
for (var i=0; i < document.getElementsByTagName('a').length; i++) {
linkArray.push(document.getElementsByTagName('a')[i].href)
}
return linkArray;
}
, function (result) {
console.log(result)
ph.exit();
});
});
});
}, {
dnodeOpts: {
weak: false
}
});
을 반환해야한다, 그래서 나는'phantom'를 설치하는'npm'를 사용 'var phantom = require ('phantom');을 선언하십시오. – maudulus
또한 https://github.com/alexscheelmeyer/node-phantom 등이 있습니다. 나는 그들 모두가 같은 대답을하게된다는 것을 안다. –