一、背景说明
在杂记(2)中,我们写了JS脚本在chrome浏览器的开发者模式console页面执行,用于抢bus票,但这个脚本有个弊端是当页面刷新后,脚本会自动清除,无法再执行,如何解决呢?我们可以开发一个chrome插件,启动这个插件,当chrome浏览器一打开目标页面就去执行脚本。
二、插件开发
1、json文件
然后创建一个文本文件,作为这个扩展程序的配置文件,所以文件名是manifest.json,注意扩展名是json,然后输入如下内容。1.png的话,随便拖一张图片进来就OK啦。另外需要注意的是,该文本文件需要用UTF-8字符集保存。
{
"name": "2.5busTicket",
"manifest_version": 2,
"version": "1.0",
"description": "2.5产业园巴士抢票插件",
"browser_action": {
"default_icon": "1.png"
},
"content_scripts": [
{
"matches": ["http://free_bus_ticket.fyxmt.com/front-end/jianwuqiangpiao/*"],
"js": ["myscript.js"]
}
]
}
2、Js脚本
扩展程序中需要执行的JS脚本:
var myDate = new Date();
var mytime=myDate.toLocaleTimeString();
console.log("当前时间:"+mytime);
var h = myDate.getHours();
console.log("小时:"+h);
var m = myDate.getMinutes();
console.log("分钟:"+m);
var s = myDate.getSeconds();
console.log("秒:"+s);
setInterval(function() {
console.log("进入方法");
var myDate = new Date();
var h = myDate.getHours();
console.log("小时:"+h);
var buttons = document.getElementsByTagName("button");
if(buttons.length == 10){
console.log("拿到10个按钮");
if(h == 12){
console.log("抢下班的票!");
var button = buttons[4];
button.click();
console.log("点击完成");
}else if(h == 19){
console.log("抢上班的票!");
var button = buttons[2];
button.click();
console.log("点击完成");
}
}
},1000);
3、安装插件
打开chrome扩展程序管理
开启开发者模式,点击加载已解压的扩展程序,选择我们的插件主目录
如下图所示,表示已经安装成功,右上角插件的图标也已经显示出来了
4、验证
打开chrome浏览器,进入目标地址,脚本将自动执行,从后台日志可以看到
三、windows计划任务让脚本定时自动执行
1、bat脚本
新建一个busOrder.bat的文件,内容如下:
cd C:\Program Files (x86)\Google\Chrome\Application
start chrome.exe "http://free_bus_ticket.fyxmt.com/front-end/jianwuqiangpiao/buy-tickets.html?wechatNo=ofqo-uN-L1bU9xSwwdVbggAEmKwk"
2、添加windows计划任务
win+R—》输入taskschd.msc打开计划任务窗口
添加脚本至执行任务,设置触发器(可以设置多个),以下内容省略