 | |  |  | AIWROK软件完整的例子 脚本分享1
https://www.yuque.com/aiwork/nba2pr/mf8wfx4tw5ct3rf2 这里下载附件
- /*
- 欢迎使用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:[0.0509,0.8841, 0.2546,0.9518],
- check:['首页'],
- click:[0.3819,0.8997]
- }
- 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[i].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[i], 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, ['领取成功','领取戍功', '领取戌功'], [0.9051,0.0625], 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([Math.random(),Math.random()], 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)
- }
复制代码这段代码是一个使用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 用于返回上一页。
| |  | |  |
|