三亚市专业技术人员继续教育网刷课脚本
三亚市专业技术人员继续教育网
# 脚本介绍
该油猴脚本用于 三亚市专业技术人员继续教育网 的辅助学习,使用JavaScript编写,适配网址:http://sanya.chinahrt.com/
脚本功能如下:
- 视频自动播放 检测视频暂停状态,自动恢复播放
- 倍速播放支持 支持1.5倍、2倍、2.5倍、3倍速播放
- 防挂机检测 定时模拟用户鼠标移动、键盘操作
- 进度跟踪 实时记录学习进度,自动跳转到未完成课程
- 静音播放 自动静音视频,不影响周围环境
脚本安装地址:
暂时下架
如果不会安装脚本,请按照下面安装教程来操作。
# 代学服务
提示
如需代学,请联系客服,支持闲鱼交易。

微信联系:yizhituziang

QQ联系:2422270452
- img: /img/weixin.jpg
name: 微信联系:yizhituziang
- img: /img/qq.jpg
name: QQ联系:2422270452
# 安装教程
# 1.安装浏览器扩展插件
首先需要给我们的浏览器安装上脚本猫插件,这是运行所有用户脚本的基础,如果浏览器已经安装过了脚本猫或者油猴插件,那么可以跳过这一步。推荐使用edge浏览器,安装插件更方便。
浏览器打开网址:https://docs.scriptcat.org/ (opens new window)
这里用edge浏览器作为示范,点击 "添加到Edge浏览器"

接着点击 "获取"

在右上角弹出的窗口,点击 "添加扩展"

等待几秒钟,会提示已经安装好脚本猫插件了。

# 2.安装刷课脚本
打开脚本安装地址后,在页面点击 "安装脚本" 按钮,接着在弹出的窗口点击 "安装" ,之后就会提示"安装成功"。
# 3.体验脚本功能
安装脚本后,需要重新进入学习站点,如果之前已经打开课程学习页面,那么需要刷新页面后脚本才会生效。
# 核心代码
// 三亚市专业技术人员继续教育网辅助脚本
(function() {
'use strict';
const CONFIG = {
AUTO_PLAY: true,
PLAYBACK_RATE: 2.0,
AUTO_MUTE: true,
AUTO_ANSWER: true,
AUTO_NEXT: true,
SIMULATE_ACTIVITY: true,
CHECK_INTERVAL: 3000,
ACTIVITY_INTERVAL: 12000,
DEBUG_MODE: false
};
function logger(msg) {
if (CONFIG.DEBUG_MODE) {
console.log(`[三亚专技辅助] ${msg}`);
}
}
function findVideoElement() {
const selectors = [
'video',
'#video video',
'.player video',
'.video-wrapper video',
'.video-container video',
'object video',
'embed + video'
];
for (let i = 0; i < selectors.length; i++) {
const el = document.querySelector(selectors[i]);
if (el) {
logger(`找到视频元素: ${selectors[i]}`);
return el;
}
}
logger('未找到视频元素');
return null;
}
function configureVideo(video) {
if (!video) return;
if (CONFIG.AUTO_MUTE && !video.muted) {
video.muted = true;
logger('视频已静音');
}
if (video.playbackRate !== CONFIG.PLAYBACK_RATE) {
video.playbackRate = CONFIG.PLAYBACK_RATE;
logger(`播放速度已设置为 ${CONFIG.PLAYBACK_RATE}x`);
}
video.onratechange = function() {
if (video.playbackRate !== CONFIG.PLAYBACK_RATE) {
video.playbackRate = CONFIG.PLAYBACK_RATE;
}
};
}
function handlePausedVideo(video) {
if (!video) return;
if (video.paused && !video.ended) {
logger('检测到视频暂停,尝试恢复播放');
video.play().then(() => {
logger('视频恢复播放成功');
}).catch(err => {
logger('自动播放失败,尝试点击播放按钮');
clickPlayButtons();
});
}
}
function clickPlayButtons() {
const playBtnSelectors = [
'.play-button',
'.video-play',
'.btn-play',
'.play-btn',
'#play-btn',
'.control-play',
'.player-play',
'[aria-label*="播放"]',
'[class*="play"]',
'button:contains("播放")'
];
for (const sel of playBtnSelectors) {
const btn = document.querySelector(sel);
if (btn && btn.offsetParent !== null) {
logger(`点击播放按钮: ${sel}`);
btn.click();
break;
}
}
}
function handleQuizPopups() {
if (!CONFIG.AUTO_ANSWER) return;
const quizSelectors = [
'.quiz-modal',
'.quiz-popup',
'.exam-dialog',
'.question-modal',
'.answer-box',
'.test-container',
'[class*="quiz"]',
'[class*="exam"]'
];
let targetModal = null;
for (const sel of quizSelectors) {
const modal = document.querySelector(sel);
if (modal && !modal.hidden && modal.offsetParent !== null) {
targetModal = modal;
logger(`检测到答题弹窗: ${sel}`);
break;
}
}
if (!targetModal) return;
const answerSelectors = [
'input[type="radio"]',
'input[type="checkbox"]',
'.option',
'.answer',
'.choice',
'[class*="option"]',
'[class*="answer"]'
];
let answerClicked = false;
for (const sel of answerSelectors) {
const answer = targetModal.querySelector(sel);
if (answer) {
answer.click();
logger('已选择答案');
answerClicked = true;
break;
}
}
if (answerClicked) {
setTimeout(() => {
const submitSelectors = [
'.submit',
'.confirm',
'.btn-submit',
'.submit-btn',
'.btn-confirm',
'button:contains("提交")',
'button:contains("确定")',
'[class*="submit"]',
'[class*="confirm"]'
];
for (const sel of submitSelectors) {
const btn = targetModal.querySelector(sel);
if (btn) {
btn.click();
logger('已提交答案');
break;
}
}
}, 1000);
}
}
function goToNextLesson() {
if (!CONFIG.AUTO_NEXT) return;
const video = findVideoElement();
if (!video || !video.ended) return;
logger('视频播放完毕,查找下一课按钮');
const nextBtnSelectors = [
'.next-lesson',
'.next-chapter',
'.btn-next',
'.next-btn',
'.chapter-next',
'a[title*="下一课"]',
'a[title*="下一讲"]',
'[class*="next"]'
];
for (const sel of nextBtnSelectors) {
const btn = document.querySelector(sel);
if (btn && btn.offsetParent !== null) {
btn.click();
logger('已点击下一课按钮');
break;
}
}
}
function simulateUserActivity() {
if (!CONFIG.SIMULATE_ACTIVITY) return;
const mouseEvent = new MouseEvent('mousemove', {
view: window,
bubbles: true,
cancelable: true,
clientX: Math.random() * window.innerWidth,
clientY: Math.random() * window.innerHeight
});
document.dispatchEvent(mouseEvent);
const scrollEvent = new Event('scroll', { bubbles: true });
document.dispatchEvent(scrollEvent);
const keyEvent = new KeyboardEvent('keydown', {
key: 'Control',
bubbles: true
});
document.dispatchEvent(keyEvent);
logger('已模拟用户活动');
}
function mainLoop() {
const video = findVideoElement();
if (video) {
configureVideo(video);
handlePausedVideo(video);
goToNextLesson();
}
handleQuizPopups();
}
function init() {
logger('三亚市专业技术人员继续教育网辅助脚本启动');
setInterval(mainLoop, CONFIG.CHECK_INTERVAL);
if (CONFIG.SIMULATE_ACTIVITY) {
setInterval(simulateUserActivity, CONFIG.ACTIVITY_INTERVAL);
}
window.addEventListener('load', () => {
logger('页面加载完成');
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();