您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
进入到课程列表,点击右上角的开始模拟真人刷课按钮即可实现全自动挂机刷课。bug反馈或者有其他合作请加qq群:2159025656
// ==UserScript== // @name 通辽教育公共服务云《模拟真人自动刷课》 // @namespace bug反馈或者有其他合作请加qq群:2159025656 // @version 0.5 // @description 进入到课程列表,点击右上角的开始模拟真人刷课按钮即可实现全自动挂机刷课。bug反馈或者有其他合作请加qq群:2159025656 // @author ZhaCai // @match https://peixun.tlsjyy.com.cn // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; var checkIntervalcc = null; var isXuanXiu = false // 创建一个按钮元素 var button = document.createElement('button'); button.textContent = '开始模拟真人刷课'; button.style.position = 'fixed'; // 固定位置 button.style.top = '10px'; // 距离顶部10px button.style.right = '10px'; // 距离右侧10px button.style.zIndex = 1000; // 确保按钮在最上层 // 将按钮添加到页面上(通常是body的末尾) document.body.appendChild(button); var curIndex = -1; // 添加点击事件监听器 button.addEventListener('click', function () { if (button.textContent == '自动模拟刷课中...') { alert("已在刷课中!!") return } checkIntervalcc = setInterval(function () { var okButton = document.querySelector('button.el-button.el-button--primary') if (okButton) { okButton.click() } }, 3000) curIndex = -1 button.textContent = '自动模拟刷课中...'; selFun() }); function selFun() { if(isXuanXiu){ let curClassName = document.querySelector('div.tab.tab_hover'); if(curClassName.textContent != "选修课程"){ let tabs = document.querySelectorAll('div.tab'); for (let i = 0; i < tabs.length; i++) { if(tabs[i].textContent == "选修课程"){ tabs[i].click() setTimeout(function(){ selFun() },1000) return } } } } //获取所有课程目录 let list = document.querySelectorAll('li.course_li'); if (list && list.length > 0) { curIndex++ if (curIndex >= list.length) { if(isXuanXiu != true){ curIndex = -1 isXuanXiu = true selFun() return } if (checkIntervalcc) { clearInterval(checkIntervalcc); checkIntervalcc = null; } alert("已完成全部刷课") button.textContent = '开始模拟真人刷课'; return } list[curIndex].addEventListener('click', function () { var checkInterval = setInterval(function () { let list1 = document.querySelectorAll('div.el-progress__text'); console.log('文本内容:', list1.length); if (list1.length > 0) { clearInterval(checkInterval); for (let i = 0; i < list1.length; i++) { if (list1[i].textContent != "100%") { let btn = document.querySelectorAll('div.el-space__item')[i].querySelector('li.section').querySelector('div.tit') btn.addEventListener('click', function () { selFun1() }) btn.click() return } } selFun() } }, 500); }) list[curIndex].click() } else { console.log("未找到数据,重新执行中...") setTimeout(function () { selFun() }, 1000) } } //检测视频 function selFun1() { // var checkIntervalcc = setInterval(function () { // let playButton = document.querySelector('i.custom-icon.custom-icon-play-.icon') // if (playButton) { // console.log('开始播放') // clearInterval(checkIntervalcc); // playButton.click() // } // }, 3000) var checkIntervaldd = setInterval(function () { let video = document.querySelector('video') if (video) { console.log("找到视频") clearInterval(checkIntervaldd); if(document.querySelector('div.oper_box').textContent.includes("已学习")){ clearInterval(checkIntervalcc); clearInterval(checkInterval11); history.back(); setTimeout(function () { curIndex = -1 selFun() }, 5000) return } video.addEventListener('ended', function () { let endBtn = document.querySelector('div.button_box.button_box2') console.log('结束播放') endBtn.addEventListener('click', function () { var checkInterval11 = setInterval(function () { if (document.readyState === 'complete') { // clearInterval(checkIntervalcc); clearInterval(checkInterval11); history.back(); setTimeout(function () { curIndex = -1 selFun() }, 5000) } }, 500) }) endBtn.click() }) video.play() } else { console.log("未找到视频") } }, 3000) } })();