编写js脚本文件
思路:根据设定的循环时间重复的运行抢票函数,刷新,判断按钮是否可以点击,是则模拟点击,结束循环,否则等待下一轮循环。以下示例的刷新时间间隔为1秒,从12点开始,浏览器为Chrome。js代码(script.js):
- var grab = function() {
- var date = new Date();
- if (date.getHours() >= 12) {
- // 此处为相应页面的抢票按钮,请自行获取dom元素
- var button = document.getElementsByClassName('J-gotoAuth')[0];
- if (!button.disabled) {
- // 可抢票,点击抢票
- button.click();
- } else {
- // 不可抢票,刷新页面
- setTimeout(function() {
- window.location.reload();
- }, 500);
- }
- } else {
- // 未到设定抢票时间,进入下一轮循环
- setTimeout('grab()', 1000);
- }
- }
var grab = function() {
var date = new Date();
if (date.getHours() >= 12) {
// 此处为相应页面的抢票按钮,请自行获取dom元素
var button = document.getElementsByClassName('J-gotoAuth')[0];
if (!button.disabled) {
// 可抢票,点击抢票
button.click();
} else {
// 不可抢票,刷新页面
setTimeout(function() {
window.location.reload();
}, 500);
}
} else {
// 未到设定抢票时间,进入下一轮循环
setTimeout('grab()', 1000);
}
}
grab();
把以上代码复制到相应的网页的控制台,回车即可运行。但是尝试过后发现存在一个问题:当到达抢票时间,如果按钮依然不可点击,则会刷新页面,此时控制台的代码就会被清空,那么就无法一直在此页面运行该脚本。所以我们需要在Chrome上添加扩展程序,为此页面添加扩展脚本,那么每当进入此页面时候就会运行此脚本。制作Chrome扩展程序:新建配置文件 manifest.json,配置如下:
- {
- "manifest_version": 2,
- "name": "Chrome抢票脚本",
- "version": "1.0",
- "description": "chrome 抢票脚本示例",
- "browser_action": {
- "default_icon": "icon.png"
- },
- "content_scripts": [
- {
- "matches": [相应网页的url数组],
- "js": ["script.js"]
- }
- ]
- }
{
"manifest_version": 2,
"name": "Chrome抢票脚本",
"version": "1.0",
"description": "chrome 抢票脚本示例",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": [相应网页的url数组],
"js": ["script.js"]
}
]
}配置完毕,新建一个文件夹script,将manifest.json,script.js,icon.png都放入此文件夹中,最后打开Chrome->菜单->更多工具->扩展程序->加载已解压的扩展程序,然后找到script文件的路径,点击确认,此时,打开对应的网页就可以发现正在运行此脚本。若script有更新,则在扩展程序页面点击重新加载即可。
制作Chrome扩展程序官方教程:Getting
Started: Building a Chrome Extension
Chrome扩展程序配置文档:Manifest File Format