// ==UserScript== // @name 【万能视频自动刷课时播放加速答题考试脚本】华医 医博士 好医生 医教管理 双卫网 双岐黄天使 青书学堂 国开 学习通 专业技术继续教育平台 公需课 专项培训 住院规培 三基培训 中医培训 基层培训等等继续网络公需学习 // @version 0.1 // @description 【弘成教育学起plus】【国开在线】【各类继续教育】【各类教师培训】【各类会计】【V:xy931312019】。 // @author 公众号学分集结号 // @match http://www.gzjxjy.gzsrs.cn/*/* // @license MIT // ==/UserScript== const page = (pathname) => { return new Promise(resolve => { const timer = setInterval(() => { if (pathname[0] === '/') { if (location.href.includes(pathname)) { clearInterval(timer) resolve() } } else { if (location.href.includes(pathname)) { clearInterval(timer) resolve() } } }, 300) }) } document.querySelector('video').defaultPlaybackRate = 3.0;//设置默认三倍速播放 document.querySelector('video').play(); const getElement = (selector) => { return new Promise(resolve => { const timer = setInterval(() => { const element = typeof selector === 'string' ? document.querySelector(selector) : selector if (element) { clearInterval(timer) resolve(element) } }, 60) }) } page('/personback/#/learning').then(() => { getElement('video').then(video => { video.muted = true const playList = Array.from(document.querySelectorAll('.el-steps .el-step .title-step')) let currentIndex = 0 const nextVideo = () => { let currentNow = Date.now() const timer = setInterval(async () => { if (isNaN(video.duration)) { video = await getElement('video') video.muted = true } if (Date.now() - currentNow < 15000) { if (video.paused) { video.play() } return } if (video.currentTime >= (video.duration - 1) && video.paused) { currentIndex += 1 if (currentIndex >= playList.length) { currentIndex = 0 } playList[currentIndex].click() clearInterval(timer) setTimeout(() => { nextVideo() }, 1000) } }, 1000) } setInterval(() => { const button = document.querySelector('.el-dialog__wrapper .el-button span') if (button) { button.click() } }, 1000) nextVideo() }) })