知到智慧树和超星刷课JS脚本
本帖最后由 obeina 于 2019-4-18 15:55 编辑在浏览器内->F12->找到控制台(console)->复制代码到输入框内->回车->关闭开发者工具->在页面找到被创造的图标->盘它
1.知到
//查找节点
var tips = document.getElementsByClassName("exploreTip");
//创建新节点
var option = document.createElement("div");
//添加样式
option.style="color:DarkOrange;text-align:center;line-height:90px;font-size:30px;background-image: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1555229569058&di=b96c64bb8d02130a76cab9525cdd1610&imgtype=0&src=http%3A%2F%2Fimg.lenovomm.com%2Fs3%2Fimg%2Ficon%2Fapp%2Fapp-img-lestore%2F2315-2015-07-07040431-1436256271865.png'); background-repeat: no-repeat; background-size: 100%; width: 90px; height: 90px; border-radius: 45px;position:fixed;left:60px;top:200px; z-index:999;"
//添加点击事件
option.setAttribute("onClick","StartOrStop()");
option.setAttribute("id","rains");
//插入节点到页面
tips.parentNode.insertBefore(option,tips);
//定时器
var timer;
//初始状态
var startstatus = 0;
//次数
var number = 0;
//函数
function start(){
if(number % 200 == 0){
console.clear();
}
number += 1;
//获取进度条,以右边章节列表里的进度为准
var pass = document.getElementsByClassName("progressbar");//passTime
//获取答题框状态
var dialog = document.getElementsByClassName("wrap_popboxeswrap_popchapter");
var vbox=document.getElementsByClassName('volumeBox');
//静音
if(vbox.className=="volumeBox"){
document.getElementsByClassName("volumeIcon").click();
}
//获取1.5倍速播放按钮
var SpeedBox15=document.getElementsByClassName("speedTab15");
var SpeedBox=document.getElementsByClassName("speedBox");
//判断当前是否为1.5倍速,根据图片来判断
if(SpeedBox.style.backgroundImage!='url("http://lc.zhihuishu.com/ableVideoPlayer/img/core/1.5-2.png")')
{
SpeedBox15.click();
}
//通过删除节点来关闭答题框
if(dialog != undefined){
var body=document.getElementsByTagName('body');
var a=document.getElementById('popbox_overlay');
body.removeChild(a);
body.removeChild(dialog);
}
//判断播放进度是否大于84%
if(parseInt(pass.style.width) > 84){
//切换下一个视频
document.getElementById("nextBtn").click();
}
var play= document.getElementsByClassName("bigPlayButton pointer");
//已经暂停 点击开始按钮
if(play.style.display == "block"){
play.click();
}
console.log("执行第"+ number + "次");
}
function StartOrStop(){
//获取播放状态
var play= document.getElementsByClassName("bigPlayButton pointer");
if (startstatus == 0){
//开始脚本
timer = setInterval(start, 3000);
//已经暂停 点击开始按钮
if(play.style.display == "block"){
play.click();
}
startstatus = 1;
var rains = document.getElementById("rains");
rains.innerText = "已开";
rains.style.color = "blue";
}else if (startstatus == 1) {
//停止脚本
clearInterval(timer);
//已经播放 暂停播放
if(play.style.display == "none"){
play.click();
}
startstatus = 0;
var rains = document.getElementById("rains");
rains.innerText = "已关";
rains.style.color = "red";
}
}
2.超星
var fa = $("body");
var btn = $("<li></li>");
var json = {
"background": "#31e16d",
"height": "16px",
"padding": "5px",
"z-index": 99999,
"cursor": "pointer",
"top": "300px",
"right": "120px",
"position": "fixed"
};
btn.css(json);
btn.html("<span id='lfsenior'>开启自动播放模式</span>");
fa.append(btn);
btn.isPlay=false;
btn.isNewOpend=true;
var timer;
btn.click(function () {
btn.isPlay=!btn.isPlay;
if (btn.isPlay) { //定时器开启
btn.isNewOpend=true;
btn.css("background","#31e16d");
$("#lfsenior").html("已开启!");
timer=setInterval(start, 1000);
}else{//定时器关闭
clearInterval(timer);
$("iframe").contents().find("iframe").contents().find("#video > div.vjs-control-bar > button").click();
btn.css("background","red");
$("#lfsenior").html("已关闭!");
}
});
//播放函数
function play(video) {
video.find("#video > button").click();
var jy = video.find("#video > div.vjs-control-bar > div.vjs-volume-panel.vjs-control.vjs-volume-panel-vertical > button");
if (jy.attr("title") != "取消静音") {
jy.click()
}
}
//下一章
function next_play() {
//获取右边未完成的章节列表表现为orange橙色
var lists=document.getElementsByClassName('roundpointStudentorange01 a002');
//可能刷着刷着当前章节变绿了,先标记一下
var flag=true;
for(var i=0;i<lists.length-1;i++){//遍历,获取当前选中的元素,也有可能没有选中上面的列表
var par=lists.parentNode;
if (par.className=="currents") {
lists.parentNode.click();
flag=false;
break;
}
}
if (flag==true) {
lists.parentNode.click();
}
}
function start() {
//当前是否打开了视频页
var dct=$(".currents");
if (dct.title!="视频"&&btn.isNewOpend==true) {
var tabtags=document.getElementsByClassName('tabtags').children;
for(var i=0;i<tabtags.length;i++){
if (tabtags.title=="视频") {
tabtags.click();
break;
}
}
}
//获取iframe
var video = $("iframe").contents().find("iframe").contents();
//如果正在加载
var load = video.find("#loading");
if (load.css("visibility") != "hidden") {
return;
}
//获取当前进度
var spans = video.find("#video > div.vjs-control-bar > div.vjs-progress-control.vjs-control > div").attr("aria-valuenow");
var pesen = parseInt(spans);
//获取任务点标记
//其实就一张图片,通过图片的位置来判断是否完成,大概视频进度在84%左右就会判断任务完成
//图片地址:https://mooc1-1.chaoxing.com/ananas/css/job-status.png
//未完成:0% 0%; 完成:0px -24px;但是不能根据这个来进行判断是否下一章,网站会检测出异常,这里用于避免重复刷课.
var targe=$("iframe").contents().find("#ext-gen1040");
var positions=getComputedStyle(targe,null)['backgroundPosition'];
//新打开的章节,视频任务已完成,自动下一章
if (positions=="0px -24px"&&btn.isNewOpend==true) {
btn.isNewOpend=true;
next_play();
//当前视频还没有完成
}else if (pesen<95) {
play(video);
btn.isNewOpend=false;
//当前进度达到92%,自动下一章,这里也可以改小一点只要不异常就可以
}else if (pesen>=92) {
btn.isNewOpend=true;
next_play();
}else{
clearInterval(timer);
}
$("#lfsenior").html("自动模式已开启,本章进度:" + spans + "%");
}
如果能帮助你,请免费评分一波! 超星尔雅不可以自动下一个视频播放吗?刚刚试了下看完一个就不动了!!是我的操作有问题吗?望作者指点 老哥 你确定能用吗 。 感谢感谢 感谢分享,虽然不知道能不能用 谢谢老铁 拿走了 感谢楼主热心分享 感谢楼主的分享! 怎么关闭开发者工具
i不存在的 发表于 2019-4-20 14:34
怎么关闭开发者工具
看红底黄字