phantomJs 스크립트 안에서 jquery를 사용하기 위해
jquery를 inject 하는 방법이다. ->page.injectJs("/test/program/phantomjs/script/include/jquery.min.js");
( API문서를 찾아봤더니, 아직 TODO다.. ㅎㅎ http://phantomjs.org/api/webpage/method/inject-js.html )
1) inject (file)
- jquery파일을 로컬에 받아와도 되고, google에 링크를 걸어도 된다.
- 나는 로컬에 받았고, 이렇게 사용했다. page.injectJs("/test/program/phantomjs/script/include/jquery.min.js");
- phantom.js 스크립트 전문이다. 파일명은 ex_injectJs.js
[root@servers examples]# vim ex_injectJs.js
var page = require('webpage').create(),
system = require('system'),
t, address;
page.onConsoleMessage = function(msg){
console.log(msg);
}
// validation param
if (system.args.length === 1) {
console.log('Usage:phantomJs ex_injectJs<some URL>');
phantom.exit(1);
}
// use to jquery
t = Date.now();
address = system.args[1];
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to access network');
}
page.injectJs("/test/program/phantomjs/script/include/jquery.min.js");
page.evaluate(function () {
$("#realTimeSearchWord").each(function(k, v){
$(this).find("li div span a").each(function(k , v){
var that = $(this);
console.log(that.attr("href") + that.text() );
});
});
});
phantom.exit();
});
2) clipRect
- This property defines the rectangular area of the web page to be rasterized when page.renderis invoked. If no clipping rectangle is set, page.render will process the entire web page.
[root@server examples]# vim ../script/screenPrint.js
var newPage = require('webpage').create(),
system = require('system');
newPage.onConsoleMessage = function(msg){
console.log(msg);
}
// validation param
if (system.args.length === 1) {
console.log('Usage:phantomJs filename.js<some URL>');
phantom.exit(1);
}
// 시스템으로부터의 입력(?) 을 아래처럼 처리 하면 된다.
address = system.args[1];
newPage.clipRect = {
top:14,
left:3,
width:400,
height:300
};
newPage.open( address, function() {
newPage.render('/data/phantom/test.png');
phantom.exit();
});
설치나 간단한 퀵 스타트는 http://rhr0916.tistory.com/11 여기에 정리를 했다.
참고 사이트 : http://newspaint.wordpress.com/2013/03/19/how-to-click-on-a-div-or-span-using-phantomjs/
(이 글을 14년도에 적었던 글인데 바뀐게 있는지 찾아봐야겠네..)
'이것저것(독후감같은거)' 카테고리의 다른 글
rundeck 사용해보기 (14년6월) (0) | 2015.11.10 |
---|---|
PhantomJS 란? PhantomJS 설치. 그리고 quick-start (SCREEN CAPTURE , HEADLESS WEBSITE TESTING) (0) | 2015.11.10 |
mysql 퍼포먼스 최적화를 읽고.. (0) | 2015.11.10 |
코딩호러의 이펙티브 프로그래밍을 읽고 (0) | 2015.11.10 |
RSS 2.0 spec (0) | 2015.11.10 |