因?yàn)橐咔樵?,要在家上網(wǎng)課,有些像毛概這樣的課要刷智慧樹(shù)的視頻,這視頻很煩,有防止掛機(jī)的機(jī)制,中間會(huì)彈出來(lái)選擇題,而且播放完了不會(huì)自動(dòng)下一P。
于是花了十幾分鐘寫(xiě)了一個(gè)自動(dòng)刷視頻的腳本,自動(dòng)答彈框選擇題(只選一個(gè)選項(xiàng)),自動(dòng)跳下一P,掛著就行了。
食用方法
1. 打開(kāi)智慧樹(shù),打開(kāi)要看的視頻

智慧樹(shù).png
2.按F12打開(kāi)控制臺(tái),點(diǎn)擊console

控制臺(tái).png
3. 復(fù)制以下代碼,粘貼到console,按下回車
function qs(el) {
return document.querySelector(el);
}
// 自動(dòng)點(diǎn)擊彈題測(cè)驗(yàn)
setInterval(() => {
let que = qs('[aria-label=彈題測(cè)驗(yàn)] li.topic-item');
// 如果彈出了題目
if (que) {
// 點(diǎn)擊第一個(gè)選項(xiàng)
que.click();
// 點(diǎn)擊關(guān)閉按鈕
qs('[aria-label=彈題測(cè)驗(yàn)] .btn').click();
// 點(diǎn)擊播放按鈕
qs('#playButton').click();
log(`完成一次答題`);
}
}, 1000);
function preventStop() {
let oldTime = qs('.currentTime').innerText;
setTimeout(() => {
let nowTime = qs('.currentTime').innerText;
if (nowTime === oldTime) {
// 點(diǎn)擊播放按鈕
qs('#playButton').click();
}
}, 2000);
}
// 防止播放意外暫停
setInterval(() => {
log(`腳本工作中`);
preventStop();
}, 5000);
// 自動(dòng)播放下一集
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);
}
// 自動(dòng)切換清晰度為流暢,防止播放卡頓
function switchToBQ() {
const switchBtn = qs('.line1bq.switchLine.active');
if (!switchBtn) {
qs('.line1bq.switchLine').click();
log(`切換清晰度至流暢`);
}
}
setTimeout(switchToBQ, 2000);
// 將側(cè)邊欄滾動(dòng)至可視范圍
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(`腳本開(kāi)始工作了`);
4. 去干你該干的事情
接下來(lái),把瀏覽器開(kāi)著就行,可以把時(shí)間用在刀刃上了。