青书学堂考试答案青书脚本
本站代学教师和专业技术人员网上学习任务,全国各城市都可以。
我们是专业代学拥有多年学习经验,安全快速高效。
100%包过,欢迎联系:QQ:2111010110,微信:fonhucom


核心代码如下:
青书学堂考试答案青书脚本
auto.waitFor();
//设置屏幕分辨率环境,以适应不同分辨率设备
setScreenMetrics(1440, 2392);
//正文代码
var rootAutomator;
var isFirstRun = true;
var isPlaying = false;
var isDebug = true; //开发者模式
var btnSubmit = text("提交");
var btnContinue = id("check_right");
//问题选项列表
var answerListView = className("android.widget.ListView");
if (isDebug) {
console.clear(); //清除控制台
console.show();
}
if (hasRoot()) {
rootAutomator = new RootAutomator();
}
//检查当前界面是否是脚本初始运行界面
if (!className("android.widget.TextView").depth(16).text("章节").exists()) {
alert("提示", "学习通->我的课程->选择某个课程进入,脚本便会自动运行了");
}
//脚本退出监听
events.on('exit', function () {
if (rootAutomator != null) rootAutomator.exit();
console.hide(); //隐藏控制台
});
while (true) {
var isFinded = false;
//处理章节列表界面
if (className("android.widget.TextView").depth(16).text("章节").exists()) {
isFinded = true;
if (isFirstRun) {
isFirstRun = false;
toastLog("脚本已经开始运行,期间请勿进行任何不必要操作...");
}
className("android.widget.TextView").text("章节").findOne().click()
sleep(500)
log("已进入章节列表");
//根据id和text进行组合判断
if (id("tv_icon").text("1").exists()) {
var tvIcon = id("tv_icon").text("1").findOne();
//进行三次父类控件查找列表中的选项布局
clickOpt(tvIcon.parent().parent().parent().parent());
} else if (textContains("已经到底啦").exists()) {
toastLog("视频已全部看完,脚本运行完毕!");
break;
} else {
scroll();
}
}
//处理章节详情界面
if (id("tv_chapter_title").exists()) {
isFinded = true;
var chapterName = id("tv_chapter_name").findOne();
log("已进入[" + chapterName.text() + "]章节详情页");
var btnPlay = text("play").findOne(5000);
if (btnPlay == null) {
log("5秒内没发现播放按钮,滑动一下刷新界面");
scroll();
sleep(2000);
// scrollDown();
} else {
log("发现播放按钮");
sleep(1000);
if (text("任务点已完成").exists()) {
log("当前章节以前已看完");
backOpt(); //点击返回键
} else if (isPlaying) {
log("当前章节刚已看完,准备进入下一章节");
isPlaying = false;
backOpt(); //点击返回键
} else {
log("已点击播放按钮");
clickOpt(btnPlay);
}
}
}
sleep(500)
}
//工具方法
//打印log
function log(msg) {
if (isDebug) console.log(msg);
}
//上滑
function scroll() {
if (device.sdkInt >= 24) {
log("执行Android7.0以上的滑动方法");
//Android7.0以上的滑动
swipe(700, 1200, 700, 600, 500);
} else if (hasRoot()) {
log("有Root权限,执行Root权限下的滑动方法");
rootAutomator.swipe(700, 1200, 700, 600, 500);
} else {
log("执行Android7.0以下的滑动方法,有点问题,有时会滑不到最底端,需手动滑一下");
//AutoJs的滑动,有点问题,有时会滑不到最底端!
scrollable(true).findOnce(1).scrollForward();
//className("android.support.v7.widget.RecyclerView").scrollForward();
}
}
//处理返回点击有时不生效问题
function backOpt() {
for (var i = 0; i < 10; i++) {
sleep(100);
if (back()) break;
}
}
//处理click点击有时候不生效问题
function clickOpt(widgetObj) {
for (var i = 0; i < 10; i++) {
sleep(100);
if (widgetObj.click()) break;
}
}
//检测有无root权限
function hasRoot() {
return files.exists("/system/bin/su") || files.exists("/system/xbin/su");
}