CasperJS
Page Open
casper.thenOpen("page url");
Text 입력 및 버튼 클릭
casper.then(function() {
// 2초간 대기
this.wait(2000, function() {
// 전달할 parameter가 없을 경우 function ()으로 호출
this.evaluate(function(param1, param2, param3) {
// parameter 값을 해당 tag id에 입력
document.getElementById("ID name").value = param1;
document.getElementById("ID name").textContent = param2;
// 버튼 클릭
document.getElementById("btn_save").click();
}, {
param1 : value1,
param2 : value2,
param3 : casper.cli.get(0)
});
// 화면 캡처
this.capture('./images/capture1-' + i + '.png');
});
});
표 데이터 조회
var infos = this.evaluate(function () {
var nodes = document.querySelectorAll(‘main table tbody tr’);
return [].map.call(nodes, function(node) {
var cells = [].map.call(node.querySelectorAll("tr td"), function(cell, i) {
return cell.textContent;
});
return {
item1 : cells[0],
item2 : cells[1],
item3 : cells[2],
item4 : cells[3],
item5 : cells[4]
}
});
});
Alert 표시될 때까지 대기
casper.waitForAlert(function(response) {
// response에 alert 메시지 등 alert 정보가 반환
});
실행시 입력한 Parameter
casper.cli.get(0)
// 실행 명령 phantomjs a.js "param1"일 경우 parma1 반환
이전 페이지로 이동
casper.then(function () {
this.back();
this.page.goBack();
});