Casperjs基于Phantomjs
Phantomjs是一个Headless(无显示的)浏览器脚本。
至少可以做
- 无显示浏览器测试
- 截屏
- 自动操作页面
- 页面监视
然而Phantomjs依然有一点不好用。Phantomjs也重点推荐了Casperjs
参考: http://phantomjs.org/best-practices.html
这个就非常好用了
完全的Promise写法让你简单的自动操作
首先生成一个casper实例
var casper = require('casper').create();
接着可以使用
casper.start(url, function() {});
打开一个url
使用evaluate执行js
casper.thenEvaluate(function() {
document.getElementById('').value =
document.getElementById('').click();
});
注意在evaluate中不能调用外部对象,这是个不方便的地方
使用thenOpen打开下一个Url
casper.thenOpen(nextUrl, function() {});
使用capture来截图,推荐截取pdf,图片格式分辨率不高
casper.then(function() {
this.capture('test.pdf');
})
最后使用
casper.run();
运行脚本