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);
}
相关推荐
saoys1 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1232 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
clorisqqq4 小时前
人工智能现代方法笔记 第1章 绪论(1/2)
人工智能·笔记
charlie1145141914 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [fs]seq_file
linux·笔记·学习
liuchangng5 小时前
Open-AutoGLM部署运行笔记
笔记
君心似砂5 小时前
很久没有写东西了
笔记
逑之6 小时前
C语言笔记5:函数
java·c语言·笔记
@zulnger6 小时前
python 学习笔记(多线程和多进程)
笔记·python·学习
gravity_w6 小时前
Hugging Face使用指南
人工智能·经验分享·笔记·深度学习·语言模型·nlp