AIWROK软件完整的例子脚本分享1
AIWROK软件完整的例子脚本分享1
https://www.yuque.com/aiwork/nba2pr/mf8wfx4tw5ct3rf2这里下载附件
这段代码是一个使用AutoApp安卓自动化IDE编写的脚本,主要用于自动化操作名为“红果短视频”的应用程序。脚本的主要功能包括登录应用、播放视频、领取奖励和签到等操作。以下是对代码的详细说明:
[*]注释说明:
[*]代码开头是一些注释,提供了使用说明以及相关的帮助文档、官方地址和QQ群信息。
[*]引入外部脚本:
[*]require("f.js") 和 require("api.js"):这两行代码用于引入外部的JavaScript文件,这些文件可能包含一些预定义的函数或其他功能。
[*]init():调用初始化函数,可能是为了设置一些初始状态或参数。
[*]获取登录信息:
[*]var mobile = uiText.findByID(控件ID="mobile").getText() 和 var password = uiText.findByID(控件ID="password").getText():这两行代码通过控件ID查找手机和密码输入框,并获取其中的文本内容。
[*]构建登录数据:
[*]var data = { "mobile" : mobile, "password" : password, oaid: device.getOAID() }:将获取到的手机号、密码以及设备的OAID(Open Anonymous Device Identifier,开放匿名设备标识符)组合成一个对象,用于登录操作。
[*]登录操作:
[*]login(data):调用登录函数,传入用户数据进行登录。
[*]login_check(data):检查登录结果,如果登录成功则继续执行,否则停止脚本。
[*]应用启动:
[*]app.openApp('com.phoenix.read'):启动“红果短视频”应用程序。
[*]自动化主循环:
[*]使用while (true)创建一个无限循环,脚本的主要逻辑都在这个循环中。
[*]let img= screen.screenShotFull():截取屏幕的全屏截图,并将其存储在变量img中。
[*]ocrres = img.MLKitOcr('zhs'):使用MLKit进行OCR(光学字符识别),识别屏幕上显示的中文文本。
[*]界面变化检测:
[*]如果识别结果与上一次保存的结果不同,则重置界面计数器uiCount。
[*]如果识别结果相同,则增加界面计数器。
[*]如果界面计数器超过10或播放时间超过5分钟,则重新打开应用。
[*]视频播放检测:
[*]检查屏幕上的文本是否包含“く第00集”和“倍速”,如果是,则认为在播放视频,并等待10秒。
[*]领取奖励:
[*]当检测到“立即提现”时,依次查找并点击“1.00元”、“立即提现”、“去支付宝绑定”和“同意”等按钮,模拟用户提现操作。
[*]检查并点击“开宝箱得全币”、“看视频最高再领”、“领取成功”等按钮,模拟用户领取应用内奖励的操作。
[*]签到:
[*]检查并点击“立即签到+888金币”、“继续观看”等按钮,模拟用户签到和继续观看视频的操作。
[*]返回操作:
[*]如果检测到“更多直播”或“已完结共00集”等文本,模拟返回上一页的操作。
[*]如果在循环中没有找到任何需要点击的文本,每隔3次循环模拟一次返回操作。
[*]toast.show('登录成功') 和 notice("红果短视频"):当用户成功登录时,显示“登录成功”的提示,并通知正在操作的应用是“红果短视频”。
[*]屏幕识别与操作:
[*]hid_ocr_all_like_once 和 hid_click:这些函数用于在屏幕截图中查找特定文本并进行点击操作,hid_back 用于返回上一页。
/*
欢迎使用AutoApp安卓自动化IDE
帮助文档: http://help.autoapp.net.cn
官方地址: www.aiwork24.com
qq群: 711841924
*/
// console.debug(Math.floor(time.nowStamp()/1000))
// stopAll()
var mobile = uiText.findByID(控件ID="mobile").getText()
var password = uiText.findByID(控件ID="password").getText()
require("f.js")
require("api.js")
init()
console.debug(mobile)
console.debug(password)
var data = { "mobile" : mobile, "password" : password, oaid: device.getOAID() }
//data = new map().add('a','1')
//console.debug( data )
var res = login(data)
console.debug(res.data.msg)
function login_check( data ){
if ( data.data.msg == "登录成功" ){
return true
}else{
win.show();
// login_check( login(data) )
stop()
}
}
login_check( login(data) )
toast.show('登录成功')
notice("红果短视频")
var apf={}
var ocrres
apf.ocr={}
apf.ocr['首页'] = {
ocr:,
check:['首页'],
click:
}
app.openApp('com.phoenix.read')
//统计当前 界面
var uiCount = 0;
// 设置一种总轮数
var run_time = 0;
// 当前界面的镜像
var uiSave = "";
var play_time = nowTime()
var play_time_used = 60*5
var get_money_key = true
while (true){
let img= screen.screenShotFull()
var lunRes = false
ocrres = img.MLKitOcr('zhs');
if ( uiSave!= ocrres ){
uiSave = ocrres
uiCount = 0
}else{
uiCount++
console.debug(uiCount)
}
if( nowTime() - play_time > play_time_used || uiCount > 10 ){
play_time = nowTime()
app.openApp('com.phoenix.read')
}
ocrres = JSON.parse(ocrres)
for(let i=0;i<ocrres.length;i++){
console.debug(ocrres.text)
}
lunRes = hid_ocr_do(img, apf.ocr['首页'], true) || lunRes
if ( hid_ocr_all_like_once(ocrres, ['く第00集'], false, 1, 60) && hid_ocr_all_like_once(ocrres, ['倍速'], false, 1, 60) ){
console.debug("正在播放,视频")
delay(10)
}
var first_money = ['1.00元', '立即提现', '去支付宝绑定', '同意']
if (get_money_key && hid_ocr_all_like_once(ocrres, ['立即提现'], true, 15, 90)){
get_money_key = false
for(let i=0;i<first_money.length;i++){
let img= screen.screenShotFull()
hid_ocr_all_like(img, first_money, true, 15, 80)
}
hid.back()
}
lunRes = hid_ocr_all_like_once(ocrres, ['开宝箱得全币'], true, 1 ,80) || lunRes
lunRes = hid_ocr_all_once(ocrres, ['看视频最高再领','看视频再领', '去福利和页领', '立即领取'], true,1,80) || lunRes
lunRes = hid_ocr_all_like_once(ocrres, ['领取成功','领取戍功', '领取戌功'], , 1, 80) || lunRes
lunRes = hid_ocr_all_like_once(ocrres, ['关闭'], true,1, 80) || lunRes
//第一个参数,图像,要查询的值【可以用数组表示,多个值,有一个包含就会判断成功】,是否点击,点后的等待时间,相似度
lunRes = hid_ocr_all_like_once(ocrres, ['领取奖励'], true,1, 80) || lunRes
if ( hid_ocr_all_like_once(ocrres, ['去看剧'], true,1,80)){
hid_click(, 5)
}
lunRes = hid_ocr_all_like_once(ocrres, ['待颌取'], true, 1, 80) || lunRes
lunRes = hid_ocr_all_like_once(ocrres, ['立即签到+888金币', '立即签到', '去签到'], true, 1,80) || lunRes
lunRes = hid_ocr_all_like_once(ocrres, ['继续观看'], true, 15, 80) || lunRes
if ( hid_ocr_all_like_once(ocrres, ['更多直播', '已完结共00集'], false, 1, 80) ){
hid.back()
delay(2)
}
run_time++
if(run_time%3 == 0&& !lunRes){
hid.back()
}
delay(3)
}
页:
[1]