mooc自动互评脚本笔记---2025年10月11日

1. 记录

innerHTML 是 JavaScript 中 HTML DOM 的一个属性,它的作用是 获取或设置某个元素内部的 HTML 内容。这里用作设置内容;

代码笔记:

javascript 复制代码
// ==UserScript==
// @name         mooc 一键互评
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  try to take over the world!
// @author       苍晓生
// @match        https://www.icourse163.org/*
// @icon         https://edu-image.nosdn.127.net/3310f128e53b406f94400f7ae6046db2.png?imageView&quality=100
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let x = 3;
    // Your code here...
    // 在页面创建按钮
    let bt = document.createElement("button");
    bt.innerHTML = "一键互评";
    bt.onclick = function() {
        start();
    }
    // 设置位置,不随页面滚动
    bt.style.position="fixed";
    bt.style.left=0;
    bt.style.top="50%";
    //设置 z-index 值,保证按钮在最上层
    bt.style.zIndex=3333;
    document.body.appendChild(bt);
})();


function run() {
    //先写 评语
    let yj = ["ok","bucuo 啊","很好","haojimi"]
    let texts = document.getElementsByClassName("j-textarea inputtxt")
    for (let i = 0; i < texts.length; i++) {
        let index = Math.floor(Math.random() * yj.length);
        texts[i].value = yj[index];
    }

    var divs = document.getElementsByClassName("s");
    for (let i = 0; i < divs.length; i++) {
        let div = divs[i].querySelectorAll("input[type='radio']");
        let lastrdio = div[div.length - 1];
        lastrdio.checked = true;
    }

    // 点击提交按钮
    var sumbtn = document.getElementsByClassName("j-submitbtn");
    sumbtn[sumbtn.length - 1].click();

    // 返回主页面
    var backbtn = document.getElementsByClassName("j-backbtn");
    backbtn[backbtn.length - 1].click();
}

function start() {
    // console.log("开始一键互评");
    // 查找"前往作业"按钮元素,这里通过类名组合来更精准定位
    var startbtn = document.getElementsByClassName("j-getnextbtn");
    startbtn[0].click();
    setTimeout(run,1000);
}
相关推荐
一定要AK4 小时前
Spring 入门核心笔记
java·笔记·spring
_李小白5 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
_李小白6 小时前
【OSG学习笔记】Day 37: NodeVisitor(顶点访问器)
笔记·学习
SccTsAxR7 小时前
算法基石:手撕离散化、递归与分治
c++·经验分享·笔记·算法
西梅汁8 小时前
C++ 观察者模式
笔记
لا معنى له8 小时前
Var-JEPA:联合嵌入预测架构的变分形式 —— 连接预测式与生成式自监督学习 ----论文翻译
人工智能·笔记·学习·语言模型
chase。8 小时前
【学习笔记】让机器人“边想边动”——实时动作分块流策略的执行方法
笔记·学习·机器人
[ ]8988 小时前
Stack_MLAG_知识点梳理
网络·笔记·网络协议
唐樽9 小时前
C++ 竞赛学习路线笔记
c++·笔记·学习
bobasyu9 小时前
Claude Code 源码笔记 -- queryLoop
java·笔记·spring