2013-11-22 4 views
2

forumwebsite에 로그인 한 후 Casperjs/Phantomjs를 사용하여 스크린 샷을 만듭니다. 내가 작성한 코드는 cmd에서이 결과를 제공합니다.로그인 후 Casperjs/Phantomjs screencapture

casperjs C:\path\path\..\test.js 

나는 모든 환경 변수를 설정 한 :

C:\xampp\htdocs\testing>casperjs screencappie.js 
Var Declared 
[info] [phantom] Starting... 
Form FIlled 
Clicked 
Waited 

내가 가진 코드를 실행합니다. 실제로 모든 코드를 통과하지만, 수행해야 할 일을하지 않는 것처럼 보입니다. 스크린 캡쳐를 만드는 것입니다.

코드 내가 사용

var casper = require('casper').create({ 
    verbose: true, 
    logLevel: 'debug' 
}); 
var x  = require('casper').selectXPath; 
var url  = 'http://forum.justforfun-gaming.com/newreply.php?tid=11178'; 
console.log('Var Declared'); 
casper.start(url, function() { 
    this.fill(x('//*[@id="content"]/table[2]/tbody/tr[2]/td/form'), { 
     'username': 'USERNAME', 
     'password': 'PASSWORD' 
    }, true); 
}); 
    console.log('Form FIlled'); 
casper.thenClick(x('//*[@id="content"]/table[2]/tbody/tr[2]/td/form/table/tbody/tr[4]/td/input')); 
    console.log('Clicked'); 


casper.wait(5000, function() { 
    this.capture('test.png', { 
     top: 0, 
     left: 0, 
     width: 900, 
     height: 900 
    }); 
}); 
console.log('Reached end of code'); 
+0

어딘가에 'casper.run();'을 호출하지 않으면 Casper 제품군이 실행되지 않습니다. – Martin

+0

@Martin 대답처럼 들립니다 (* the * answer), 덧글이 아닙니다 :-) –

+0

당신이 옳다고 생각합니다. – Martin

답변

1

casper.run();을 호출하면 모든 단계가 실행되고 선택적으로 콜백이 실행됩니다. Casper 탐색 스위트를 실행하려면이 메서드를 호출해야합니다. 예제 및 더 자세한 정보는 http://docs.casperjs.org/en/latest/index.html

0

당신이 시도 할 수 있습니까?

casper.capture('yourImage.png'); 

대신 크기를 조정하려고합니다. 사진을 찍으려고하기 전에 실제로 화면 캡처 부분에 도달했는지 확인하십시오.

나는 가끔씩 조용히 실패하는이 상황에 처했을 때 가끔 골머리를 앓고 있습니다.