广州东方职业技术培训中心执业药师继续教育刷课脚本
广州东方职业技术培训中心执业药师继续教育
# 脚本介绍
该油猴脚本用于 广州东方职业技术培训中心执业药师继续教育 的辅助看课,使用JavaScript编写,适配网址:https://www.dongfangjy.cn/
脚本功能如下:
- 页面加载自动播放:课程页面渲染完成后,自动触发播放按钮,无需手动点击启动。
- 防闲置暂停保护:定时模拟轻微页面操作,避免因页面后台运行、长时间无操作被平台暂停播放。
- 单节课程自动续播:检测到当前课程播放完毕后,自动查找并点击下一节课程,实现无缝续学。
- 可配置倍速播放:默认1.5倍速(用户可自行修改),无需手动反复调整播放速度。
- 自动关闭干扰弹窗:自动检测并关闭课程播放中的提示、广告弹窗,避免中断播放。
- 可选静音播放:默认开启静音,避免课程音频干扰日常操作,可手动关闭静音恢复声音。
脚本安装地址:
暂时下架
如果不会安装脚本,请按照下面安装教程来操作。
# 代学服务
提示
如需代学,请联系客服,支持闲鱼交易。

微信联系: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.体验脚本功能
安装脚本后,需要重新进入学习站点,如果之前已经打开课程学习页面,那么需要刷新页面后脚本才会生效。
# 核心代码
// ==UserScript==
// @name 广州东方执业药师继续教育辅助看课
// @namespace https://www.dongfangjy.cn/
// @version 1.0
// @description 辅助自动播放、防暂停、自动续播、倍速播放的油猴脚本
// @author 自定义
// @match https://www.dongfangjy.cn/*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// ---------------------- 配置项(用户可根据需求修改)----------------------
const CONFIG = {
playSpeed: 1.5, // 课程播放倍速(建议1-2倍,避免平台限制)
isMute: true, // 是否默认静音播放
antiIdleInterval: 30000, // 防闲置操作间隔(30秒,单位:毫秒)
checkFinishInterval: 2000 // 检测课程是否播放完毕的间隔(2秒,单位:毫秒)
};
// ---------------------- 核心功能实现 ----------------------
/**
* 1. 初始化播放配置(倍速+静音)
*/
function initPlayerConfig() {
// 查找视频播放元素(推测为video标签,若无效需根据网站实际结构修改选择器)
const videoElement = document.querySelector('video');
if (!videoElement) return console.log("未找到视频播放元素,跳过播放配置初始化");
// 设置播放倍速
if (videoElement.playbackRate !== CONFIG.playSpeed) {
videoElement.playbackRate = CONFIG.playSpeed;
console.log(`已设置播放倍速为:${CONFIG.playSpeed}倍`);
}
// 设置静音
if (CONFIG.isMute && !videoElement.muted) {
videoElement.muted = true;
console.log("已开启静音播放");
}
}
/**
* 2. 自动触发课程播放
*/
function autoPlayCourse() {
// 查找播放按钮(常见选择器,若无效需替换为网站实际播放按钮的class/id)
const playButtons = [
document.querySelector('.play-btn'),
document.querySelector('.video-play'),
document.querySelector('[data-action="play"]'),
document.querySelector('button:contains("播放")')
].filter(btn => btn !== null);
if (playButtons.length > 0) {
playButtons[0].click();
console.log("已自动触发课程播放");
// 播放后初始化配置
initPlayerConfig();
return true;
}
// 若直接找到video标签,尝试直接调用play方法
const videoElement = document.querySelector('video');
if (videoElement) {
videoElement.play().then(() => {
console.log("已直接启动视频播放");
initPlayerConfig();
}).catch(err => console.log("自动播放失败(浏览器限制/平台权限),请手动点击播放一次:", err));
return true;
}
console.log("未找到播放按钮/视频元素,无法自动播放");
return false;
}
/**
* 3. 防闲置暂停保护(定时模拟页面操作)
*/
function antiIdleProtect() {
setInterval(() => {
// 模拟页面焦点更新(无视觉影响)
window.blur();
window.focus();
// 模拟微小DOM操作(避免平台检测无操作)
const tempDiv = document.createElement('div');
tempDiv.style.display = 'none';
document.body.appendChild(tempDiv);
document.body.removeChild(tempDiv);
console.log("已执行防闲置操作,避免课程暂停");
}, CONFIG.antiIdleInterval);
}
/**
* 4. 检测课程是否播放完毕,自动续播下一节
*/
function autoNextCourse() {
setInterval(() => {
const videoElement = document.querySelector('video');
if (!videoElement) return;
// 检测视频是否已播放完毕(当前时间≈总时长,且已暂停)
const isFinished = (
videoElement.ended ||
(videoElement.currentTime >= videoElement.duration - 1 && !videoElement.paused)
);
if (isFinished) {
console.log("当前课程播放完毕,尝试切换下一节");
// 查找下一节课程按钮(推测选择器,需根据网站实际修改)
const nextButtons = [
document.querySelector('.next-course'),
document.querySelector('.btn-next'),
document.querySelector('[data-nav="next"]'),
document.querySelector('a:contains("下一节")')
].filter(btn => btn !== null);
if (nextButtons.length > 0) {
nextButtons[0].click();
// 切换后延迟触发自动播放(等待新页面/新视频加载)
setTimeout(autoPlayCourse, 3000);
} else {
console.log("未找到下一节课程按钮,需手动切换");
}
}
}, CONFIG.checkFinishInterval);
}
/**
* 5. 自动关闭干扰弹窗
*/
function autoClosePopups() {
setInterval(() => {
// 查找常见弹窗关闭按钮(推测选择器,需根据网站实际修改)
const closeButtons = [
document.querySelector('.popup-close'),
document.querySelector('.close-btn'),
document.querySelector('.modal-close'),
document.querySelector('[class*="close"]')
].filter(btn => btn !== null);
closeButtons.forEach(btn => {
btn.click();
console.log("已关闭一个干扰弹窗");
});
// 隐藏无关闭按钮的弹窗(直接设置样式)
const popups = document.querySelectorAll('.popup, .modal, .ad-box');
popups.forEach(popup => {
popup.style.display = 'none';
});
}, 5000);
}
// ---------------------- 脚本入口(启动所有功能)----------------------
function initScript() {
console.log("广州东方执业药师继续教育辅助脚本已启动");
// 延迟启动(等待页面完全加载,避免元素未渲染)
setTimeout(() => {
autoPlayCourse();
antiIdleProtect();
autoNextCourse();
autoClosePopups();
}, 2000);
}
// 启动脚本
initScript();
})();