美文网首页
智慧树自动刷视频简易脚本

智慧树自动刷视频简易脚本

作者: 麦芽花生糖 | 来源:发表于2020-04-09 03:24 被阅读0次

因为疫情原因,要在家上网课,有些像毛概这样的课要刷智慧树的视频,这视频很烦,有防止挂机的机制,中间会弹出来选择题,而且播放完了不会自动下一P。
于是花了十几分钟写了一个自动刷视频的脚本,自动答弹框选择题(只选一个选项),自动跳下一P,挂着就行了。

食用方法

1. 打开智慧树,打开要看的视频

智慧树.png

2.按F12打开控制台,点击console

控制台.png

3. 复制以下代码,粘贴到console,按下回车

function qs(el) {
  return document.querySelector(el);
}
// 自动点击弹题测验
setInterval(() => {
  let que = qs('[aria-label=弹题测验] li.topic-item');
  // 如果弹出了题目
  if (que) {
    // 点击第一个选项
    que.click();
    // 点击关闭按钮
    qs('[aria-label=弹题测验] .btn').click();
    // 点击播放按钮
    qs('#playButton').click();
    log(`完成一次答题`);
  }
}, 1000);

function preventStop() {
  let oldTime = qs('.currentTime').innerText;
  setTimeout(() => {
    let nowTime = qs('.currentTime').innerText;
    if (nowTime === oldTime) {
      // 点击播放按钮
      qs('#playButton').click();
    }
  }, 2000);
}

// 防止播放意外暂停
setInterval(() => {
  log(`脚本工作中`);
  preventStop();
}, 5000);

// 自动播放下一集
autoPlayNext();
function autoPlayNext() {
  const interval = setInterval(() => {
    const iconFinish = qs('.clearfix.video.current_play .fl.time_icofinish');
    if (iconFinish) {
      qs('#nextBtn').click();
      log(`播放下一集`);
      clearInterval(interval);
      setTimeout(() => {
        autoPlayNext();
        switchToBQ();
        scrollSideBarIntoView();
      }, 5000);
    }
  }, 2000);
}

// 自动切换清晰度为流畅,防止播放卡顿
function switchToBQ() {
  const switchBtn = qs('.line1bq.switchLine.active');
  if (!switchBtn) {
    qs('.line1bq.switchLine').click();
    log(`切换清晰度至流畅`);
  }
}
setTimeout(switchToBQ, 2000);

// 将侧边栏滚动至可视范围
setTimeout(scrollSideBarIntoView, 2000);
function scrollSideBarIntoView() {
  qs('.clearfix.video.current_play .fl').scrollIntoView();
}

function log(info) {
  const date = new Date();
  console.log(`${info}  ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`);
}
console.log(`脚本开始工作了`);

4. 去干你该干的事情

接下来,把浏览器开着就行,可以把时间用在刀刃上了。

相关文章

网友评论

      本文标题:智慧树自动刷视频简易脚本

      本文链接:https://www.haomeiwen.com/subject/dwnfmhtx.html