autojs刷网课之一、刷视频篇
autojs刷网课之一、刷视频篇
- 本程序还有许多需要改进的地方,希望路过的各位大佬不吝赐教,感谢!
- 相关说明
- 1.息屏状态下亮屏
- 2.设置悬浮窗
- 3.打开app,跳过广告,点击相关课程
- 4.弹题与倍速
- 5.结束视频
- 总结
本程序还有许多需要改进的地方,希望路过的各位大佬不吝赐教,感谢!
背景:网课,2021春,形式与政策Ⅱ,知到app
- 功能:
- 定时打开app
- 跳过广告
- 播放形式与政策
- 1.5倍速
- 自动关闭弹题
- 连播三个视频后自动退出
准备:vivo手机(Android 7以上),autojs 4.1.2,vs code
个人背景:本人大三,在学习大二的计算机课程,只学过c和c++(所以用其他语言肯定有许多不规范的地方,感谢雅正!)
最近接触了autojs(javaScript),虽然没学过javaScript,但是庆幸的是基本可以用c/c++的知识写js。
相关说明
- 本学期课程设学习习惯分 ,需要有五天学习时间(看视频,不包括见面课)超过25min,一定不要一下刷完!
- 本人水平十分有限,都是基于兴趣进行相关学习,所以程序不会十分完善,只达到自用的程度 ,使用博客记录过程,一方面反思进步,另一方面希望能和你们互惠互助,共同进步。
- 本程序分为两部分,此篇为第一部分,实现了刷视频的功能,第二部分为自动答题篇;
- 功能流程 :使用autojs自带的定时(时灵时不灵),息屏时亮屏并解锁(上滑,6位数字密码),打开app,跳过广告,点击学习,点击形式与政策,点击继续学习,点击继续播放,放大,1.25x,1.5x,循环检测弹题,有题就选择A并关闭(未选就不能关闭),循环检测是否是下一个视频(自动播放下个视频的时候下边那个控制栏会出现,倍速会变为1.0x,检测到1.0x就点击两下变为1.5x,所以放大4次就表示看到第四个视频了(三个视频是为了凑够25min),就自动退出app;
- 关于第二部分的自动答题,其实章节课后题总共就8章×5=40道题,网上也很容易查到答案,但是本人是为了锻炼对autojs的使用,同时为另一个答题做准备,所以才写的,第二部分涉及了三个方面 1.使用python爬取答案,写入文档制作题库 2.使用python将txt文件的问题和答案变为json键值对格式 3.获取页面文字,匹配键值,获取答案,自动答题,有兴趣的可以继续关注;
- 之后应该会写爬网页,企业微信每日上报,定时抢购,stm32,ss答题等,时间不定,先挖个坑;
- 新手上路,请多 点赞 收藏 关注 ,十分感谢 。
1.息屏状态下亮屏
while (!device.isScreenOn()) {device.wakeUp();sleep(500)swipe(700, 1900, 700, 450, 300);//上滑sleep(400);//解锁 密码123456desc(1).findOne().click();desc(2).findOne().click();desc(3).findOne().click();desc(4).findOne().click();desc(5).findOne().click();desc(6).findOne().click();sleep(400);}
2.设置悬浮窗
var w = floaty.rawWindow(<frame gravity="center" bg="#CC999999"><text padding="5 0 5 0" w="auto" h="auto" id="text" textColor='#FFFFFF'></text></frame>);w.setPosition(150, 5);w.setTouchable(false);ui.run(function(){w.text.setText("开始刷课");});
3.打开app,跳过广告,点击相关课程
while(currentPackage().search(/wisdomtree/i)==-1){ //如果没有找到任何匹配的子串,则返回 -1。launchApp("知到");ui.run(function(){w.text.setText("正在打开知到");});sleep(1000);}if(id('tv_skip').findOne().click()){ui.run(function(){w.text.setText('跳过广告');});sleep(500);}var widget = text("学习").findOne();//获取其中心位置并点击click(widget.bounds().centerX()+random(0, 10), widget.bounds().centerY()-40);ui.run(function(){w.text.setText('点击学习')});sleep(4000); if(id('rl_credit_all_info').findOne().click()){ui.run(function(){w.text.setText('点击形式与政策');});sleep(2000);}id("continue_study_btn").findOne().click();sleep(500);click(600, 600);ui.run(function(){w.text.setText('继续播放');});sleep(1000);var number = 0device.setMusicVolume(device.getMusicMaxVolume() / 100 * number)click(800, 800);sleep(500);click(1000, 800);ui.run(function(){w.text.setText('放大');});
4.弹题与倍速
/*思路:
问题一:弹题一直检测,是否有题,有题就答问题二:怎么调第二次倍速1.间隔时间段后检测倍速2.不调倍速问题三:怎么判断三个视频播放完毕第四次调倍速就退出脚本
*/ n=1;t=0;while(true){if(text('A').findOnce()) {sleep(500)click("A");sleep(1000) click("关闭")sleep(1000)toast('关闭'+ n +'个弹题');n=n+1;}if(text('1.0x').findOnce()) {click("1.0x")t+=1;sleep(500);click("1.25x");sleep(500); ui.run(function(){w.text.setText('第'+ t +'个视频'); }); }//if(t == 3) 。。。}
5.结束视频
if(t == 4) {if(id('ijk_layout_controller_cover_play_layout').findOnce().click()){ui.run(function(){w.text.setText('3个视频播放完毕,已暂停');});}back()sleep(500);back()sleep(500);if(id('positiveButton').text("确定").findOnce()){log('确定退出');click("确定")}back()sleep(500);back()sleep(500);home()exit()}
总结
写东西果然很难啊,特别是码代码的习惯特别不好,导致整理的时候要花费很长时间,注释也懒得写了,感觉都是很简单的语句,看不懂就看功能流程哈,再看不懂就评论,我看到就会回复的。
全部代码在gitee,点这里跳转
坚持就是胜利!
autojs刷网课之一、刷视频篇相关推荐
- 利用代码实现自动刷网课阅读时长功能 JAVA
目录 前言: 理论依据: 现实依据: 朴素版只能循环阅读不能翻页: 升级版 翻页 + 阅读: 如何使用: 前言: 最近不也快结课了,网课该刷的都要刷掉,最近不就把一门思政课刷完了,课后习题也做了,但是 ...
- 前一段时间比较火的刷网课平台源码,带数据库和教程
前一段时间比较火的刷网课平台源码,带数据库和教程. 好在疫情已经结束了,希望今后世上再无网课. 这个代码免费提供给大家学习开发用吧,作为一个php的入门学习案例用用还可以. 使用办法 网站根目录解压 ...
- 最详细新版网课联盟27刷网课平台源码+安装教程+最新模板+下载地址
新版网课联盟27刷网课平台源码+安装教程+最新模板 第一步:准备一个服务器+域名 没有域名暂时使用服务器网址也可以 第二步:上传文件 上传文件到wwwroot上面,进行解压 第三步:进行防伪静态设置: ...
- 刷网课会被检测出来吗_目标检测中的Precision和Recall
目标检测中常用的性能评价指标有Precision,Recall和F1 score. 当面对不同的任务时,该如何提高recall和precision? 思考:对于Precision值,其代表的是你所预测 ...
- 2023 最新大学生代刷网课系统源码
转载未测试,感兴趣的下载研究 安装教程: 1.打开Nginx.htaccess文件,复制其中的内容,并将其设置为伪静态规则,建议使用 PHP 7.3 进行配置. 2.在config文件夹中找到conf ...
- python刷网_Python制作刷网页流量工具的代码实例
本文给大家分享的是一个使用python制作的,可以实现刷网页流量的小工具,并给大家附上了详细代码,有需要的小伙伴可以参考下 准备 必须环境: Python3 开始 先实现一个简单的版本,直接上代码:i ...
- 黑马程序员python网课笔记最后一篇(不包括飞机大战案例练习)
异常 异常概念 python程序在运行过程中,遇到错误,会停止程序的执行,并提示一些错误信息,这就是异常 程序停止执行并提示错误信息这个过程,我们称为抛出异常 捕获异常 用try()来捕获异常 代码规 ...
- 看三屏网课视频不同步的解决方法(vga和asf)
文章目录 问题 解决方法一(不好用) 解决方法二(舍弃) 解决方法三(通用) 总结 附录 成品代码 frmleftup.htm原本文件的源代码 问题 为了学习Windows编程,最近在看<高级W ...
- 【网课视频提取ppt】【原创好用】如何自动提取视频中的PPT画面?网课视频提取ppt教程
本文介绍了一款名为"Gleamoe Peanut 2023"的软件,可用于自动从网课视频中提取PPT画面. 软件手册:https://gleamore.feishu.cn/docx ...
- 视频号封禁大量网课培训 社群营销直播间
最近松松编辑杰哥了解到,视频号又有新动作,开始严打网课培训方向,大量社群.培训.课程相关的直播间被封禁,看来最近一段时间视频号搞虚拟网课培训业务的站长和主播要避避风头了! 根据杰哥从部分站长和营销大佬 ...
最新文章
- AI规模化落地,英特尔至强的七重助力
- 对于注册中心,ZooKeeper、Eureka哪个更合适?
- CentOS 7 快速部署 ELK
- linux查看系统版本_轻松查看Win10系统版本、版本号的技巧
- Codeforces Round #712 (Div. 2) E. Travelling Salesman Problem 思维转换
- Remoting PerfMon Service
- 如何使用IDEA自带的数据库连接工具连接达梦数据库,IDEA连接DM(达梦)数据库
- 【ER网络?BA网络?WS网络?NW网络?】复杂网络分析+数据集+代码实现
- UnionPay-银联支付-netcore(一)
- 澳洲计算机科学专业,盘点澳洲八大名校那些最强的专业—计算机科学专业
- Quartus-II 13.1 详细安装、注册、配置步骤
- spark推测机制及参数设置
- 88E1111使用记录
- sturts2框架知识点(Struts2框架----今天脑子有点炸)
- LVS均衡负载(一) LVS详解
- 75%医用输液泵受漏洞威胁 360专家呼吁构建数字安全防御体系
- 十七、主餐 《西敏小要理问答》
- 五.抽象接口与依赖反转(C面向对象开发)
- matlab二阶节的系数,如何利用matlab求解矩阵系数的二阶微分方程
- MyBatis动态拼接SQL