学习casperjs.js遇到的语法和命令

    |     2017年6月26日   |   学习偶记   |     评论已关闭   |    4246

casper.wait(3000);  //等待3秒。只针对then。

和其他程序交互:    WebApi的方式:将我们处理数据的逻辑 写到一个 web站点,在casperjs中通过发起请求(casperjs.open(), 或者引入外部的jquery插件后调用jquery提供的ajax方法,或者用js自行实现XMLHttpRequest),将数据提交到我们搭建好的web站点。

//指定user-agent
casper.userAgent(‘Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0’);

//加载本地js文件

var casper = require(‘casper’).create({
clientScripts: [
‘includes/jquery.js’, // 将这两个本地js注入到远端
‘includes/underscore.js’ // 每个请求的DOM
],
….
});

//等待1秒,载入配置
casper.options.waitTimeout = 1000;

//获取页面内容
this.getHTML();

//根据特殊属性获取元素
this.mouseEvent(‘click’, ‘div[data-type=”pwd”]’);

//拿到节点的数据(加了true,包含自身的html)
this.echo(this.getHTML(‘h1#foobar’, true));

//抓取https页面需要添加的参数
在执行casperjs capture.js …命令时,加上–ssl-protocol=any这个option就可以了。

//wait不仅可以等待waitForSelector,也可以waitForText
casper.waitForText(‘加载更多’, function() {

});

//用evaluate可以执行自定义函数
this.evaluate(function () {});
this.evaluate(自己的函数名);

示例:casper.evaluate(function(username, password) {
 document.querySelector(‘#username’).value = username;  //操作当前加载到浏览器中的DOM
document.querySelector(‘#password’).value = password;
document.querySelector(‘#submit’).click();
}, ‘sheldon.cooper’, ‘b4z1ng4’);
其中shelodon.cooper 和 b4z1ng4 是用户名和密码,对应匿名函数的参数。

噢!评论已关闭。