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();
});