casperjs初体验
上一篇文章讲到了phantomjs
,在搜索的过程中经常是出现casperjs
的搜索结果。看到介绍说是比phantomjs
更加易用,于是好奇地试了下如何使用casperjs
。
安装
我在mac上测试的,使用brew
命令即可,由于casperjs
是基于phantomjs
,所以需要先安装后者:
brew install phantomjs
brew install casperjs
模拟登录示例
首先是初始化并设置参数:
var casper = require('casper').create({
verbose: false,
logLevel: 'debug',
pageSettings: {
loadImages: false,
loadPlugins: false,
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
}
});
打开网页登录页,找到输入框,使用sendKeys
填充,然后click
提交
casper.start('http://www.tuicool.com/login', function() {
this.sendKeys('input[id="xlEmail"]', '[email protected]');
this.sendKeys('input[id="xlPassword"]', 'zzzz');
this.click('button[type="submit"]');
});
然后用thenOpen
打开收藏页面,但是需要在then
函数里,如果直接用then
其实还是原先的登录url里,具体解释有点烧脑,接着用fetchText
取出<span class="title"></span>
的内容:
casper.then(function(){
this.thenOpen('http://www.tuicool.com/articles/my', function(){
this.echo(this.fetchText('span[class="title"]'));
});
});
最后要执行run
,因为之前的步骤都只是加入到casper
的stack
而已,通过run
才能正式执行
casper.run();
其他
casperjs
提供了许多方便操作的api
,请见文档。
have fun.