0
그래서 나는thenEvaluate()는 evaluate()과 같은 방식으로 반환됩니까?
casper.evaluate(function() {
return 'foobar';
}, {});
가 어떻게 thenEvaluate()
과 같은 일을 달성 할 ... 내가 수익을 사용하여 window
에서 캐스퍼에 데이터를 반환 할 수 있습니다 알아?
그래서 나는thenEvaluate()는 evaluate()과 같은 방식으로 반환됩니까?
casper.evaluate(function() {
return 'foobar';
}, {});
가 어떻게 thenEvaluate()
과 같은 일을 달성 할 ... 내가 수익을 사용하여 window
에서 캐스퍼에 데이터를 반환 할 수 있습니다 알아?
casper.thenEvaluate
에서 아무것도 반환 할 수 없습니다. 그것은 무시됩니다. 너는 casper.then
과 casper.evaluate
으로 나눌 필요가 있습니다. 유사한 내용은 this question을 참조하십시오.
casper.thenEvaluate
은 다른 모든 then*
및 wait*
기능과 마찬가지로 비동기 스텝 기능입니다. 비동기 함수에서 유용한 것을 반환하는 것은 불가능합니다. 내가 나중에 something
를 사용하지 않은 경우에 당신이 요구되지 않을 것이다 의심
var something;
casper.start(url).then(function(){
something = this.evaluate(function(){
return 'foobar';
});
this.click("someSelector");
}).then(function(){
// do something with "something" on the new page
});
: 당신이 가장 가능성이 원하는 것은 이것이다. 모든 단계 함수는 초기 casper
오브젝트를 리턴하므로 위의 예제와 같이 스크립트를 약속 구문으로 작성할 수 있습니다.