casperjs的环境搭建及简单使用

在我看来,casperjs和phantomjs的关系就如同java与C语言的关系一样。正好我对casperjs感觉更好用,所以直接就学了casperjs。在casperjs中会用到phantomjs,所以需要都有环境。

因为需要完成老师布置的作业,所以从casperjs开始入手学习


环境搭建

1 下载

①可以到官网上下载,在百度上直接搜casperjs、phantomjs即可
②我上传到csdn资源的下载地址:
http://download.csdn.net/detail/zhengyikuangge/9699445

2 解压后配置环境变量

在环境变量下的Path后面添加两个新变量,路径到相应工具的bin目录下
例如我的casperjs环境变量路径为
E:\a_js\casperjs-1.1.3\bin

3 测试是否搭建完成

进入命令行 输入casperjs –version (注意这里是两个-)

这里写图片描述


简单使用

1 选择一个喜欢的js编辑器

我用的是everEdit

2 查看casperjs的api说明

可以百度直接搜“casperjs api”即可

3 运行某js文件

命令行——cmd到js的目录下——在命令行上输入casperjs + js文件名
例如

casperjs a.js

4 常用的几个小知识点

①代码框架


var casper = require('casper').create(); 
var fs =  require('fs');        
phantom.outputEncoding="GBK";
var url = 'http://www.baidu.com';
//设置开始执行的url和方法(第一步执行)
casper.start(url, function () {   

});   

//设置第二步执行方法  
casper.then(function () {   


});   
//设置第三步执行方法    
casper.then(function () {   

});   
...
//设置第N步执行方法
casper.then(function () {   

});

//开始执行
casper.run();

②网页截图

this.capture("1.png");//获取当前网页截图,放到当前目录

③获取网页标题

var t = this.getTitle();//获取当前页面的标题

④输出到命令行

this.echo("");//输出到命令行

⑤填写表单

this.fill('form[id="form"]', {  
        "wd": "123" //from中标签的name  
}, false);
//这个需要到具体页面去找id或name
//form为表单的id
//wd是form中input的name

⑥点击按钮

this.click('input[id="su"]');
//这个需要结合具体页面,这里是点击id为su的按钮

⑦等待执行

 this.wait(3000, function () {   

    }); 
 //延迟三秒执行方法

⑧给不在form中的input赋值

this.sendKeys('input#login_user', 'zwq');

⑨模拟鼠标点击

this.mouse.click(".btn");

小案例(打开百度主页然后搜索信息)

var casper = require('casper').create(); 
var fs =  require('fs');        // 引入 fs 模块,这是 PhantomJS的模块
phantom.outputEncoding="GBK";
var url = 'http://www.baidu.com';
casper.start(url, function () {   
    //this.capture("1.png");   
    this.echo("启动程序...."); 
    this.capture("1.png");   
    var t = this.getTitle();    // 获取网页标题
    this.echo(t);       // 输出到命令窗口  
});   

//输入要查询的数据   
casper.then(function () {   
    this.fill('form[id="form"]', {  
        "wd": "123" //from中标签的name  

    }, false);   
    this.capture("2.png"); 
    this.echo("等待点击查询按钮");   

});   

casper.then(function () {   
    this.click('input[id="su"]');  

    this.echo("已经点击查询按钮, 跳转等待.....");   
    this.wait(3000, function () {   
        this.echo(this.getTitle());   
        this.capture("3.png");   
        this.echo("查询成功");   
    });   
});   
casper.run(); 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值