zoukankan      html  css  js  c++  java
  • 智慧树刷课

    网课比较麻烦,但是也比较容易,仅仅需要几段代码就可以实现自动刷课。由于本人初学爬虫,对于JavaScript也不是太熟悉,因此在网上找了一些代码,对其进行一下汇总。

    打开浏览器,在智慧树网课播放界面按F12 在第二个Console界面复制下面的任意一段代码按enter就可以了,挂着就能自动刷了。

    代码一:

    写在前面,改代码可以实现1.5倍速播放,静音播放,自动播放下一集,但是不能跳过弹出的习题

    (function () {
    	const MAX_DELAY = 60 // 切课时的最大延迟,单位:秒
    
    	const sleep = (time) => new Promise((resolve) => setTimeout(resolve, time))
    
    	const start = async function () {
    		console.log('智慧树助手已启动')
    
    		while (true) {
    			console.log('正在检查')
    			const delay = Math.floor(Math.random() * MAX_DELAY * 1000) + 1000
    
    			if (!/1.5/.test($('.speedBox').attr('style'))) {
    				console.log('提升到1.5倍速')
    				$('.speedTab15').click()
    			}
    
    			if (!/liuchang/.test($('.definiBox').attr('style'))) {
    				console.log('更改画质')
    				$('.line1bq').click()
    			}
    
    			if ($('.volumeBox').find('.passVolume').width() != 0) {
    				console.log('静音')
    				$('.volumeIcon').click()
    			}
    			
    			if ($('.playButton').length > 0) {
    				console.log('点击播放')
    				$('.playButton').click()
    			}
    
    			if ($('.popbtn_cancel')[0]) {
    				console.log('发现弹题,将在' + delay / 1000 + ' 秒后点击关闭')
    				await sleep(delay)
    				$('.popbtn_cancel').click()
    			}
    
    			if ($('.current_play').find('.progressbar').width() == $('.current_play').find('.progressbar_box').width()) {
    				console.log('本节完成,' + delay / 1000 + ' 秒后将切到下一课')
    				await sleep(delay)
    				$('.current_play').nextAll('.video')[0].click()
    			}
    
    			await sleep(1000)
    		}
    	}
    
    	start()
    }())
    

    代码二:

    写在前面,改代码可以实现1.5倍速播放,静音播放,自动播放下一集,并且可以自动跳过习题。

    var ti = $("body");
    var video = $(".catalogue_ul1 li[id*=video-]");
    var i = 1;
    var v = 1;
    video.css("color", "blue");
    console.log("已选取" + video.length + "个小节,并已用蓝色标明,请检查是否有遗漏,如有遗漏,概不负责");
    setTimeout(function () {
        $('.speedTab15').click();
        $('.volumeIcon').click();
        console.log("已进行静音和1.5倍加速");
    }, 3000);
    ti.on("DOMNodeInserted", function (e) {
        if (e.target.textContent == "关闭") {
            console.log("检测到第" + i + "个弹题窗口");
            window.setTimeout(function () {
                document.getElementById("tmDialog_iframe").contentWindow.document.getElementsByClassName("answerOption")[0].getElementsByTagName("input")[0].click();
                $(".popbtn_cancel").click();
                console.log("已关闭");
            }, 3000);
            i++;
        } else if (e.target.textContent == "本节视频,累计观看时间『100%』") {
            console.log("检测到视频观看完成,准备跳到下一节");
            $('.next_lesson_bg').find('a').trigger('click');
            console.log("已跳转");
            setTimeout(function () {
                $('.volumeIcon').click();
                $('.speedTab15').click();
                console.log("已进行静音和1.5倍加速");
            }, 6000);
            v++;
            console.log("目前播放了" + v + "个视频");
        }
    });
    

    代码三:

    写在前面,改代码可以实现1.5倍速播放,不能静音播放,自动播放下一集,并且可以自动跳过习题。

    function timeCount()
    {
        if(document.getElementById('popbox_title')) {
            var x = document.getElementsByClassName('popbtn_cancel');
            window.clearInterval();
            x[0].click();
            console.log('关闭窗口');
    
        }
    
    }
    var time=0;
    var father=document.getElementById("my");
    var divs = document.createElement("div");
    divs.id='mybutton';
    divs.style.position='fixed';
    divs.style.left='150px';
    divs.style.top='100px';
    divs.style.width='72px';
    divs.style.height='72px';
    divs.style.backgroundImage="url('data:image/png;base64,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')";
    divs.onclick=function(){
        setTimeout(function(){
            console.log('切换到1.5倍');
            document.getElementsByClassName('speedTab15')[0].click();
        },5000);
        if(time===0){
            alert('已经启动,可以最小化了');
        }else{
            console.log('第二次初始化');
        }
    
        //视频播放暂停
        document.getElementById("vjs_mediaplayer_html5_api").onpause = function() {
            console.log('已暂停');
            window.setInterval(timeCount(),700);
    
        };
    
        //视频播放结束
        document.getElementById("vjs_mediaplayer_html5_api").onended=function(){
            console.log('已结束');
            setTimeout(function(){
                //document.getElementsByClassName('next_lesson_bg tm_next_lesson')[0].click();
                document.getElementById('nextBtn').click();
    
                setTimeout(function(){
                    time=1;
                    divs.click();
                },5000);
    
    
    
            },2500);
    
        };
    
    
    };
    document.body.appendChild(divs);
    
  • 相关阅读:
    css自定义字体
    nuxt按需引入 element-UI、自定义主题色(终极按需引入)
    Vue 拖拽组件 vuedraggable 和 awe-dnd
    css 0.5px
    react取消监听scroll事件
    vue使用jsonp
    nuxt使用QRCode.js 生成二维码
    阻止冒泡
    nuxt.js配置BASE_URL(基本域名)和NODE_ENV(环境变量)
    Numpy基础学习笔记1
  • 原文地址:https://www.cnblogs.com/mach-pupil/p/12535348.html
Copyright © 2011-2022 走看看