本文最后修改于 544 天前,部分内容可能已经过时!
刷课小脚本就是使用Javascript脚本语言,插入到网页当中去,但是我们直接在控制台输出的话就只能实现单次效果,因为一刷新就没了,所以我们借助油猴插件来多次运行
刷课:
1.找到所对应的视频 var vid = document.getElementsByTagName("video")[0];
2.设置视频播放速度,最高16倍速 vid.playbackRate = 10 //10倍速
3.(可选)设置视频静音播放 vid.muted = true;
4.播放视频 vid.play();
5.通过事件监听检测是否播放完成, vid.addEventListener('ended', function() {
},false);
6.播放完成后执行此代码进行下个视频的跳转,此处跳转根据实际表单数据进行修改
document.getElementsByClassName('module-sequence-footer-button--next')[0].children[0].click()
6.1 找到哪个节点按钮是跳到下个视频的
6.2 使用.click()模拟点击该按钮
7.在第五步的function函数里重复61234步骤(因为1234只会执行一遍),或者你可以封装第1234步为XX函数,这样子只需要在初始的时代调用一次XX函数,在第五步里调用一次XX函数,这样子代码也美观一些
参考代码:仅适用于双元课程
// ==UserScript==
// @name baiyun
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author otk
// @match http://webvpn.baiyunu.edu.cn/webvpn/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=baiyunu.edu.cn
// @grant none
// ==/UserScript==
(function() {
'use strict';
setTimeout(main, 5000);
function main(){
console.log(`刷课脚本开始运行`)
var vid = document.getElementsByTagName("video")[0];
vid.muted = true;
vid.playbackRate = 10 //10倍速
vid.play();
console.log('开始播放')
vid.addEventListener('ended', function() {
console.log('播放结束,切换下一个视频');
document.getElementsByClassName('module-sequence-footer-button--next')[0].children[0].click()
console.log(`已切换视频`);
setTimeout(main, 5000);
console.log(`开始刷视频`)
var vid = document.getElementsByTagName("video")[0];
vid.muted = true;
vid.playbackRate = 10 //10倍速
vid.play();
console.log('开始播放')
}, false)
}
})();
选修课
1.先在教务系统上按F12利用js找到要选修的课号表单值ID,记录下来
2.将其选中document.getElementById('kcmcGrid_ct160_xk').checked=true;
3.设置一个变量,用于判断是否都勾上了flag = true;
4.立刻向服务器提交document.getElementById('Button1').click();
5.(可选)设置弹窗666提醒提交已成功alert('666');
6.设置定时器setInterval(test(), 1000);
7.一开抢你就运行,它可能会崩可能会成功,别管它
8.祈祷
参考代码:仅适用于方正系统
function test(){
var flag = false;
//kcmcGrid_ctl37_xk代表课号
document.getElementById('kcmcGrid_ct160_xk').checked=true;
document.getElementById('kcmcGrid_ct139_xk').checked=true;
document.getElementById('kcmcGrid_ct148_xk').checked=true;
flag = true;
if (flag == true) {
document.getElementById('Button1').click();
alert('666');
}
}
setInterval(test(), 1000);
该页面评论已关闭