如何穿透网课双层Iframe框架阻拦,实现自动播放网课视频

有些网课真的是很糟糕,无法实现后台播放,鼠标移动离开播放器范围就自动停止播放,这样的话,导致上课只能上课,有时候接个电话和看消息都会导致课程中断,着实不好,今天我们就来解决下这个不是大问题的小问题

要是实现自动刷课的方法其实很简单,核心点就是让视频实现自动播放,网站的dom是暴露的,通过操控网站的页面dom来达到控制效果显然要容易得多,我们这里使用简单的demo做个演示

穿透框架 (模拟效果演示)

假设我们要他突破的网站有这些目录,共3层网页,以iframe进行嵌套,为什么那么繁琐???因为这是防止普通插件刷课的阻拦方法,网站故意的。

网站文件目录 如下所示 >>>
在这里插入图片描述
index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        iframe{
            width: 100%;
            height: 600px;
        }
    </style>
</head>
<body>
    <iframe src="./index_1.html" frameborder="0"></iframe>
</body>
</html>

index_1.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        iframe{
            width: 100%;
            height: 600px;
        }
    </style>
</head>
<body>
    <iframe src="./index._2.html" frameborder="0"></iframe>
</body>
</html>

index_2.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        iframe{
            width: 100%;
            height: 600px;
        }

        video{
            height: 600px;
        }
    </style>
</head>
<body>
    <video src="./Doctor_Who_1.mp4" controls></video>
</body>
</html>

页面效果 >>>
在这里插入图片描述
接下来我们进行穿透教学,第一步是获取最外层的iframe框 >>>

document.querySelector('iframe')

在这里插入图片描述
第二步是获取中间层的iframe框 >>>

document.querySelector('iframe').contentWindow.document.querySelector('iframe')

在这里插入图片描述
第三步是获取最里层的iframe框 >>>

document.querySelector('iframe').contentWindow.document.querySelector('iframe').contentWindow.document.querySelector('iframe')

在这里插入图片描述
到这一步我们可以看见iframe里面已经包含video标签了,现在可以进行调用来播放视频

document.querySelector('iframe').contentWindow.document.querySelector('iframe').contentWindow.document.querySelector('video').play();

我们在控制台输入上面这个代码,就能实现调用ifram框里面的ifram框里面的Iframe框里面的video标签,实现脚本控制播放,这就是穿透的效果演示 :
在这里插入图片描述
有些网站的网课像实现自动化播放也是这个道理,你只要写出了穿透iframe框的脚本,只要能解决如何获取到video标签的对象这个问题,然后在控制台放这个代码执行,加个计时器就能实现自动播放,鼠标随便移动到任何地方都不会暂停了,想实现自动下一集可以继续优化代码自动点击或者配合python的selenium做自动化处点击执行,无人值守的刷课效果…哼…这个思路只是提供学习交流,希望大家以后设计网站的时候能注意这一点,填补这个漏洞



刷网课视频的代码 (可实战应用)

学习通测试代码 (复制后在控制台输入后回车,能自动播放视频,无视题目中断播放) >>>

var timeAssassins=setInterval(()=>{document.getElementById('iframe').contentWindow.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementById('video_html5_api').play();},1000);

教程仅供学习交流使用,切勿用于恶意刷课

猜你喜欢

转载自blog.csdn.net/qq_41136216/article/details/105970893