Posted on 2016-12-08 16:25
魔のkyo 阅读(204)
评论(0) 编辑 收藏 引用
某网贷平台投资周期短,经常回款,但是丫没有回款提醒功能,有时白白站岗几天才发现,于是用PhantomJS写了检查可用余额,用VBScript辅助做提醒。
经常忘了PhantomJS和VBScript最基础的东西怎么写,遂记录一下
PhantomJS脚本如下:
phantom.outputEncoding="gb2312";
var page = require('webpage').create();
page.onConsoleMessage = function (msg) {
console.log(msg);
};
page.navigationLocked = false;
page.onNavigationRequested = function(url, type, willNavigate, main) {
// console.log('Trying to navigate to: ' + url);
// console.log('Caused by: ' + type);
// console.log('Will actually navigate: ' + willNavigate);
// console.log('Sent from the page\'s main frame: ' + main);
// console.log('');
}
page.onLoadFinished = function() {
console.log('onLoadFinished ' + page.url);
console.log('');
if(page.url == 'http://yaoyuefu.com/') { // 登录完成后会跳转到首页地址
// page.render('yaoyuefu.png');
var cash = page.evaluate(function () {
// 取出可用余额,过滤掉金额中的无用分隔符并转换为浮点型
var cash = parseFloat($(".kyje:first").text().replace(/[^0-9\.]/g, ''));
return cash;
});
console.log(cash);
// 如果站岗自己大于等于5000就作为程序返回值输出,否则返回0,结束程序
if(cash >= 5000) {
phantom.exit(cash);
} else {
phantom.exit(0);
}
}
};
// 打开登录页面,并在打开后执行回调
page.open('http://yaoyuefu.com/default/login', function () {
page.evaluate(function () {
function $$(id){return document.getElementById(id)}
// 填写登录账号和密码
$$("mobile").value = "136********";
$$("password").value = "******";
// 触发登录按钮点击
$$("login").click();
});
// console.log(page.url);
// console.log(page.loading);
// phantom.exit();
});
PhantomJS没有界面,无法提供交互,于是用VBScript辅助一下
VBScript脚本如下:
Set shell = WScript.CreateObject("WScript.Shell")
'执行检查脚本,0:不显示窗口,true:等待执行完成
cash = shell.run("phantomjs <上面的文件>.js", 0, true)
if cash <> 0 then
r = MsgBox("可用余额:" & cstr(cash) & ",去投资?", 1, "花生米富")
if r = 1 then
shell.run("http://yaoyuefu.com/")
end if
end if
VBS设置为每次开机自动执行,会在后台启动PhantomJS脚本去检查余额,如果余额不到5000就什么都不显示直接结束,如果大于等于5000会弹出提示框询问是否去投资,如果确认则打开浏览器跳转到网站,如果取消则什么都不做。