node.js から phantomJSを使用するには下記2つの方法がおすすめです。
npm install nightmare
npm install vo
`
test.js`
で保存var Nightmare = require('nightmare');
var google = new Nightmare()
.viewport(1000, 1000)
.useragent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36")
.goto('http://google.com')
.evaluate(function () {
return {
title: document.title,
href : location.href
};
})
.run(function(err, nightmare) {
if (err) return console.log(err);
console.log('Done!');
console.log(nightmare);
});
node test.js
GoogleホームページのタイトルとURLが表示されればOKです。
`
niconico_login.js`
で保存var Nightmare = require('nightmare');
var vo = require('vo');
vo(function* () {
var nico_id = '###メールアドレス###';
var nico_pass = '###パスワード###';
var nightmare = Nightmare({ show: true });
var link = yield nightmare
.goto('https://account.nicovideo.jp/login')
.type('input[id="input__mailtel"]', nico_id)
.type('input[id="input__password"]', nico_pass)
.click('#login__submit')
.wait(2000)
.then(function() {
console.log('終了しました');
});
yield nightmare.end();
return link;
})(function (err, result) {
if (err) return console.log(err);
});
node niconico_login.js
ニコニコ動画にログインできればOKです。
npm install node-horseman
`
test.js`
で保存var Horseman = require('node-horseman');
var horseman = new Horseman();
var filename = 'test.png';
horseman
.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0')
.open('http://www.google.com')
.type('input[name="q"]', 'github')
.click('[name="btnK"]')
.keyboardEvent('keypress', 16777221)
.waitForSelector('div.g')
.count('div.g')
.log() // prints out the number of results
.screenshot(filename)
.log(filename)
.close();
node test.js
Googleの検索結果の画面が test.png に保存されれば正常に動作しています。