hooyantsing's Blog

0x0003-"好学生"腾讯课堂挂机脚本

2020/08/10

前言

Hello,各位!
相信大家在这个漫长的“寒假”里在家上网课,已经对腾讯课堂的“签到”和“答题”不陌生了。我们班,都是雷锋同志在群里吼一嗓子,大家才急急忙忙起来签到的(确信)。虽然可能以后上网课的机会很难得了,但在这里我还是将脚本代码放出来,万一以后会用到呢,分享给大家。

原理很简单,每隔一段时间扫描下文档流,看看有没有出现弹窗,如果有就点击一下,没有就跳过。对于答题,就是随机选择一个答案。这是一个非常简易,但又非常有用的脚本,毕竟翘课一时爽,一直翘课一直爽。

使用方法

作者:Hooy;版本:1.0;日期:2020-08-10

打开 Google Chrome 浏览器,按键盘上的 F12 然后点击 Sources 创建一个 New snippet 将以下代码复制进去,最后右键脚本名 Run

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
let time = 5;           //时间间隔
let scanCount = 0; //扫描次数
let signinCount = 0; //签到次数
let choiceCount = 0; //选择次数
setInterval(theGoodStudent, time * 1000);
function theGoodStudent() {
let btn = document.getElementsByClassName('s-btn s-btn--primary s-btn--m')[0];
scanCount++;
if (btn) {
let btnText = btn.innerText;
switch(btnText){
case "签到":
btn.click();
signinCount++;
console.warn("签到成功!");
break;
case "确定":
let choiceList = document.getElementsByClassName('s-f-rc-item');
if(choiceList.length == 0){
//非选择答题卡,关闭
btn.click();
console.info("已关闭交互窗口!");
}else{
//选择答题卡,选择答案
let index = Math.floor(Math.random() * choiceList.length);
choiceList[index].click();
btn.click();
choiceCount++;
console.warn("已选择选项:" + String.fromCharCode(65 +index));
}
break;
default:
console.warn("此交互窗口本脚本暂未支持,请联系脚本作者!");
}
} else {
console.info("第" + scanCount + "次扫描,未发现有交互窗口 已签到:" + signinCount + "已选择:" + choiceCount);
}
}

可以在控制台 (Console) 看到输出。

CATALOG
  1. 1. 前言
  2. 2. 使用方法