// ==UserScript== // @name 超星学习通-自动点击讨论并自动回复脚本 // @namespace http://tampermonkey.net/ // @version 1.1 // @description 自动点击讨论部分,自动填入并提交回复内容,提交后自动关闭页面 // @author 河北糖纸大鹏 // @match *://*.chaoxing.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // 定义一个函数,用来查找讨论部分并点击 function clickDiscussion() { const topicMainDiv = document.getElementById('topicMainDiv'); if (topicMainDiv) { // 阻止默认跳转行为 topicMainDiv.addEventListener('click', function(event) { event.preventDefault(); console.log('阻止了页面跳转'); }, { once: true }); // 使用 { once: true } 确保事件只触发一次 // 模拟点击,确保触发事件,但不会跳转 const event = new MouseEvent('click', { bubbles: true, cancelable: true, view: window, }); topicMainDiv.dispatchEvent(event); // 模拟点击 console.log('已自动点击讨论部分'); } } // 等待页面加载完成 window.onload = function() { // 自动点击讨论部分(延迟1秒) setTimeout(clickDiscussion, 1000); // 查找所有 replyContent 元素 const replyContents = document.querySelectorAll('.replyContent'); if (replyContents.length === 0) { console.log('未找到 replyContent'); return; } // 随机选择一个 replyContent 的内容 const randomReply = replyContents[Math.floor(Math.random() * replyContents.length)].innerText; // 找到目标文本框 const textarea = document.querySelector('.textareawrap textarea'); if (textarea) { // 将随机回复内容填入文本框 textarea.value = randomReply; // 手动触发输入事件,确保页面响应 const inputEvent = new Event('input', { bubbles: true }); textarea.dispatchEvent(inputEvent); console.log('已自动填入内容:', randomReply); // 检查文本框是否为空 if (textarea.value.trim() === '') { console.log('文本框为空,已中断执行'); return; // 中断执行 } // 查找并点击提交按钮 const submitButton = document.querySelector('.jb_btn.addReply'); if (submitButton) { setTimeout(() => { submitButton.click(); console.log('已自动提交评论'); // 提交后等待0.5秒钟再自动关闭页面 setTimeout(() => { window.close(); // 关闭当前页面 console.log('已自动关闭页面'); }, 500); // 延迟0.5秒关闭页面 }, 3000); // 延迟3秒,确保填入完成后再提交 } else { console.log('未找到提交按钮'); } } else { console.log('未找到文本框'); } }; })();