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);
}
相关推荐
aramae5 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
bessyon5 小时前
信息透明度与决策效率:一个技术视角的分析
笔记
hanlin037 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
自不量力的A同学7 小时前
开源一站式智能终端 uniTerm v1.9.4 发布
笔记
91刘仁德8 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
库玛西9 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
Rabitebla10 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法
库玛西11 小时前
数据结构与算法之美:树、森林与二叉树全解析
c语言·数据结构·笔记·考研·算法·学习方法
小李不想当小白12 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
hanlin0313 小时前
刷题笔记:力扣第76题-最小覆盖子串
笔记·算法·leetcode