您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
节约你每天半分钟的生命 fork from Leslie
// ==UserScript== // @name 浙江大学健康打卡自动化脚本-修正版 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 节约你每天半分钟的生命 fork from Leslie // @author Elizamyth // @match https://healthreport.zju.edu.cn/ncov/wap/default/index // @grant none // ==/UserScript== (function() { 'use strict'; // 定义获取地区的callback函数 获取到地区之后再提交 function getarea(callback) { document.getElementsByName("area")[0].click(); intervalID = setInterval(function checkarea() { console.log(document.getElementsByName("area")[0].getElementsByTagName("input")[0].value); if(document.getElementsByName("area")[0].getElementsByTagName("input")[0].value != "") { clearInterval(intervalID); callback() } }, 1000); }; var intervalID = null; // 特殊的选项 //是否是不宜接种人群;当前接种情况 var keywordsSp = ["sfbyjzrq","jzxgymqk"]; // 需要选是的选项 // 是否意向接种; 今日是否在校;所在地点 var keywordsYes = ["sfyxjzxgym", "sfzx","sfzgn"]; // 需要选否的选项 //今日是否因发热请假未到岗; //今日是否因发热外的其他原因请假未到岗;今日是否有发热症状(高于37.2 ℃); //今日是否被当地管理部门要求在集中隔离点医学观察; //今日是否居家隔离观察; //是否有任何与疫情相关的,值得注意的情况; //本人家庭成员(包括其他密切接触人员)是否有近14日入境或近14日拟入境的情况 var keywordsNo = ["sffrqjwdg", "sfqtyyqjwdg","tw","sfyqjzgc","sfcyglq","sfcxzysx","sfymqjczrj",]; for(var i = 0; i < keywordsNo.length; i++) { try { var selection = document.getElementsByName(keywordsNo[i]); selection[0].getElementsByTagName("span")[3].click(); } catch (err) { alert(keywordsNo[i] + err.message); } } //是否是不宜接种人群 selection = document.getElementsByName("sfbyjzrq"); selection[0].getElementsByTagName("span")[10].click(); //当前接种情况 selection = document.getElementsByName("jzxgymqk"); selection[0].getElementsByTagName("span")[1].click();//第一针 //是否已经申领校区所在地健康码 selection = document.getElementsByName("sfsqhzjkk"); selection[0].getElementsByTagName("span")[1].click(); Vue.nextTick( function() { //今日申领校区所在地健康码的颜色 selection = document.getElementsByName("sqhzjkkys"); selection[0].getElementsByTagName("span")[1].click(); }) for(i = 0; i < keywordsYes.length; i++) { try { selection = document.getElementsByName(keywordsYes[i]); selection[0].getElementsByTagName("span")[1].click(); } catch (err) { alert(keywordsNo[i] + err.message); } } selection = document.getElementsByName("sfqrxxss"); selection[0].getElementsByTagName("span")[0].click(); getarea(function(){ selection = document.getElementsByClassName("list-box"); selection[0].getElementsByClassName("footers")[0].getElementsByTagName("a")[0].click(); Vue.nextTick( function() { var confirm = document.getElementsByClassName("wapcf-btn wapcf-btn-ok"); confirm[0].click(); }) }); //wapcf-btn wapcf-btn-ok // Your code here... })();