Phantomjs的高度封裝:nightmare
nightmare是PhantomJS的高級封裝,讓你能夠實現瀏覽器自動化任務。PhantomJS 是一個基于WebKit的服務器端 JavaScript API。它全面支持web而不需瀏覽器支持,其快速,原生支持各種Web標準: DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。PhantomJS可以用于頁面自動化,網絡監測,網頁截屏,以及無界面測試等。
示例
實現在Yahoo上搜索:
var Nightmare = require('nightmare');
new Nightmare()
.goto('http://yahoo.com')
.type('input[title="Search"]', 'github nightmare')
.click('.searchsubmit')
.run(function (err, nightmare) {
if (err) return console.log(err);
console.log('Done!');
}); Or, let's extract the entirety of Kayak's home page after everything has rendered:
var Nightmare = require('nightmare');
new Nightmare()
.goto('http://kayak.com')
.evaluate(function (page) {
return document.documentElement.innerHTML;
}, function (res) {
console.log(res);
})
.run(); Or, here's how you might automate a nicely abstracted login + task on Swiftly:
var Nightmare = require('nightmare');
var Swiftly = require('nightmare-swiftly');
new Nightmare()
.use(Swiftly.login(email, password))
.use(Swiftly.task(instructions, uploads, path))
.run(function(err, nightmare){
if (err) return fn(err);
fn();
}); 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!