posts - 171, comments - 59, trackbacks - 0, articles - 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"0true)
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会弹出提示框询问是否去投资,如果确认则打开浏览器跳转到网站,如果取消则什么都不做。
只有注册用户登录后才能发表评论。