您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
LT智慧D校-学时助手-自动点开课程
// ==UserScript== // @name LT智慧D校-学时助手 // @namespace http://tampermonkey.net/ // @version 1.3 // @description LT智慧D校-学时助手-自动点开课程 // @author wenyc15 // @match https://m.campus.chinaunicom.cn/* // @icon https://www.google.com/s2/favicons?sz=64&domain=chinaunicom.cn // @grant none // @license MIT // ==/UserScript== localStorage.setItem('crsType', "全部");//课程分类,自行填写 localStorage.setItem('coursesState', "未学习");//课程状态,自行填写(全部,未学习,已完成,未完成) (function() { 'use strict'; setTimeout(()=>{ // let curUrl = document.URL; //专区页面 if(curUrl.indexOf("ind_ThemeCourses")!=-1){ localStorage.setItem('tarUrl', curUrl);//保存专区URL ThemeCoursesPage(); } //课程播放页面 if(curUrl.indexOf("course_courseDetails")!=-1){ courseDetails(); } },1500); // Your code here... })(); //专区页面 function ThemeCoursesPage(){ console.log("专区页面",localStorage.getItem('tarUrl')) //选择分类 let typesLi = Array.from(document.querySelectorAll('div[class="classification-item"] > ul > li')); let typ =localStorage.getItem('crsType')?localStorage.getItem('crsType').trim():"全部"; let seleType = typesLi.filter(li => li.textContent.trim() === typ); setTimeout(()=>{ if(seleType.length){//没有自选的分类就选择全部 seleType[0].click();} //选择课程状态分类(全部,未学习,已完成,未完成) 默认先从未完成开始 const States = ['全部','未学习','已完成','未完成']; let coursesStates = document.querySelectorAll('div[class=coursesState]>div>span>span'); coursesStates[States.indexOf(localStorage.getItem('coursesState')?localStorage.getItem('coursesState'):"未学习")].click();//选择学习状态(未完成) //选择课程进入 setTimeout(()=>{ let courseList = document.querySelectorAll('div[class=course-List]>ul>li');//课程列表 setTimeout(()=>{ if(courseList.length === 0){ coursesStates[1].click();//课程为0就选择未学习 setTimeout(()=>{ if(document.querySelectorAll('div[class=course-List]>ul>li').length===0){ //未学习也没有课程就选择全部分类 localStorage.setItem('crsType', "全部");//课程分类-全部 ThemeCoursesPage(); }else{ var Course = document.querySelectorAll('div[class=course-List]>ul>li')[0]; Course.click(); //打开视频播放页面后关闭专区页面 setTimeout(()=>{ window.close(); },500); } },500); }else{ var Course = document.querySelectorAll('div[class=course-List]>ul>li')[0]; Course.click(); //打开视频播放页面后关闭专区页面 setTimeout(()=>{ window.close(); },500); } },1000); },1000); },1500); } //课程播放页面 function courseDetails(){ console.log("课程播放页面"); // 创建一个新的音频上下文 const audioContext = new AudioContext(); // 静音标签页 audioContext.suspend(); ////打开控制条 setTimeout(()=>{ let video = document.querySelector('video'); setInterval(()=>{ //button.click(); video = document.querySelector('video'); if(video !=undefined){ console.log('检测播放暂停状态',video.paused) video.muted = true;//静音 if(video.paused){ video.play(); //document.querySelector('div[class="jw-icon jw-icon-inline jw-button-color jw-reset jw-icon-playback"]').click(); }} let cours = document.querySelectorAll('div[class="planList plan-list learn-sec"]'); console.log("课程数量",cours.length); cours.forEach((item, index)=>{ if( item.childNodes[1].getAttribute('class').length && item.childNodes[1].textContent==='100%'){ //当前播放已达100% if(index === (cours.length-1)){ console.log("最后一个课程播放完,关闭当前标签页"); window.location.href=localStorage.getItem('tarUrl');//最后一个课程播放完,关闭当前标签页。 }else{ console.log("当前课程播放完,播放下一个"); cours[index+1].click();//播放下一个 } }else{ console.log('播放进度:',item.childNodes[1].textContent); } }); },3000) },1500) }