杂记(3)chrome扩展程序开发之在目标页面执行JS脚本

一、背景说明

在杂记(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打开计划任务窗口

添加脚本至执行任务,设置触发器(可以设置多个),以下内容省略


  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值