职培云自动学习插件
本帖最后由 lzngy 于 2020-12-7 17:51 编辑小白一枚, 最近苦于被职培云折磨, 熬了一晚上研究, 做了个自动刷课的插件
功能:
自动获取未学完课程并播放, 播放后自动返回获取下一节
缺点:
要把网课的标签页放前台, 不然总会暂停, 不知道怎么实现恢复播放...
代码如下:
manifest.json:
{
"name": "auto_study",
"version": "1.0",
"description": "aotu_study",
"browser_action": {
"default_popup": "auto_study.html"
},
"content_scripts": [{
"js": ["auto_study.js"],
"matches": ["https://px.class.com.cn/player/study/*", "https://px.class.com.cn/study/myclass/*"],
"run_at": "document_end"
}],
"permissions": [
"tabs",
"http://*/*",
"https://*/*"
],
"manifest_version": 2
}
auto_study.js:
setInterval(function() {
// 模拟鼠标点击
var to_click = new MouseEvent("click");
var video_list = null;
var video_list = document.getElementsByClassName("class-item unfinished");
if (video_list != null) {
var study_btn = video_list.getElementsByClassName("btn btn-outline-primary toStudy aBtn24");
study_btn.dispatchEvent(to_click);
}
else {
// 点击我已学完
var get_btn = document.getElementById("btn_submit");
get_btn.dispatchEvent(to_click);
// 延时2秒执行; 如果未学完, 关闭剩余时间弹窗
setTimeout(function(){
var block_btn = document.getElementById("vue_dialog_sub_my").style;
var play_btn = document.getElementById("d_sub_confirm_my");
if (block_btn['display'] == "block") {
play_btn.dispatchEvent(to_click);
}
}, 2000)
// 获取已学习时长和课程总时长
var now = document.getElementById("learnedStr").innerText;
var finish = document.getElementById("durationStr").innerText;
// 返回课程主页
var back_btn = document.getElementsByTagName("a");
// 如果已学习=总时长, 点击返回课程主页
if (now == finish) {
back_btn.dispatchEvent(to_click);
};
}
}, 30000);
大兵马元帅 发表于 2020-12-7 17:48
这个怎么使用?
把两端代码分别存到对应文件中, 放在同一目录下, 然后浏览器选加载已解压扩展程序选存放文件的目录 就好了 chenbingo 发表于 2021-2-22 11:04
自己添加新脚本,然后把楼主提供的脚本代码复制进去
谢谢,试了下捕捉不到视频,应该是又升级了。 虽然刚学习,谢谢分享 这个怎么使用? 正好需要 你的manifest.json
什什么意思 楼主有实力。 能否帮忙写个刷奥鹏的学习插件 https://www.ourteacher.com.cn/ ghoob321 发表于 2020-12-7 19:36
你的
什什么意思
文件名做成插件的话需要这个文件 感谢,先弄到油猴里,一会试试好使不
页:
[1]
2