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);
}
相关推荐
深蓝海拓1 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器1 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
BugShare3 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
深蓝海拓3 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
跃渊Yuey4 小时前
【Linux】线程同步与互斥
linux·笔记
AI视觉网奇4 小时前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5
科技林总4 小时前
使用Miniconda安装Jupyter
笔记
woodykissme5 小时前
倒圆角问题解决思路分享
笔记·学习·工艺
laplace01235 小时前
Clawdbot 部署到飞书(飞连)使用教程(完整版)
人工智能·笔记·agent·rag·clawdbot
凉、介5 小时前
ACRN Hypervisor 简介
笔记·学习·虚拟化