学习casperjs.js遇到的语法和命令
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 是用户名和密码,对应匿名函数的参数。
噢!评论已关闭。