关于casperjs
Casperjs是一个开源的导航脚本处理和测试工具,基于Phantomjs和SlimerJS。它简化了页面间导航的定义过程,提供了处理常见任务的实用的高级函数、方法和语法糖。
安装及下载
首先需要装Phantomjs,>=1.9.1; python,>=2.6;
mac中默认安装了python,python–version可以查看python的版本
npm install -g casperjs
casperjs语法
1.casper.start(url)url可不填
首先创建并打开一个浏览器
2.casper.open(url)
打开页面
3.casper.then(function(){})
上一步执行结束后执行
4.casper.wait(time,function(){})
等待相应时间后执行
5.casper.evaluate(function(){},{parameter,argument})
操作dom
6.casper.run(function(){})
执行
7.casper.echo()
输出
8.casper.exit()
退出
9.casper.repeat(num,function(){})
重复执行相应次数
操作dom
1.casper.getElementAttributes(selector,attribute)
获取第一个选择器的相应属性
2.casper.getElementsAttritutes(selector,attribute)
获取所有相应选择器的相应属性
3.casper.getElementInfo(selector)
获取相应选择器的信息
4.casper.download(url,target)
下载相应页面到目标文件
5.casper.getPageContent()
打开页面后,获取页面body的html
6.casper.getHTML('selector')
获取选择器的html
7.casper.getCurrentUrl()
获取当前页面的url
8.casper.exists(selector)
返回布尔值,判断是否存在该选择器
实例
发送ajax
var ajaxInfo=casper.evaluate(function(){
return JSON.parse(__utils__.sendAJAX(url, 'GET', null, false));
})
打印
this.echo(JSON.stringify(all));
require('utils').dump(all);
工作机制
.then/.wait/.exit是异步的
只有执行了.run才开始真正执行