VScode
- VScode 格式化 :ctrl+AFK
hamibot
-
通过text方式获取控件(包含str)
textContains(str) -
通过text方式获取控件(前缀)
textStartsWith(prefix) -
父子集
parent()、child() -
配置外部限制条件
const {xxx} = hamibot.env
- 应用是否安装
getPackageName()
- 如何判断字符串是否包含字符串 www.jb51.net/article/139…
match()
var str = "123"
var reg = RegExp(/3/);
if(str.match(reg)){
//包含;
}
2.indexOf()
var str = "123"
console.log(str.indexOf("2" ) != -1); // true
- 遍历
className('AbsListView')
.findOne()
.children()
.forEach(function(child) {
log(child.className());
});
- 遍历点击
var b = xxx.bounds();
click(b.centerX(), b.centerY())
-
返回子控件数目(number)
childCount(); -
函数定义
function(){}
- 弹出提醒框
alert()
- 定时器用法
setTimeout(callback, delay[, ...args])(只能执行一次)
setInterval(m,n) (无限循环)
m :运行的方法或代码
n:需要等待的时间
关闭setinterval :clearInterval()
function m(){
console.log('hello')
}
setTimeout(m,10)
//代码在规定时间后执行 只执行一次
setInterval(m,5000)
//代码在规定时间后执行 无限执行
function m(){
console.log('hello')
}
setInterval(m)
//每隔n 就会运行一次代码
clearInterval(m)
- 异常处理(明确的找到代码问题所在,保证代码不会异常中断)
try{}catch(e){}
-
滑动(从上往下滑)
className('xxx') .scrollable() .findOne() .scrollForward(); -
滑动(从下往上滑)
className('xxx').depth(xx) .scrollable() .findOne() .scrollUp();
- 多线程(找到查询按钮时 点击此按钮(只需要执行一次就可以))
threads.start(function () {
var Multithreading;
if (Multithreading = classNameContains("Button").textContains("立即开始").findOne(2000)) {
Multithreading.click();
}
});
- js 数据类型转换
json()
application()
-
请求截图
requestScreenCapture(false or true); -
执行截图
captureScreen('/xxx.png'); -
读取照片
var src = images.read('/sdcard/1.png'); -
剪切照片并返回剪切区域照片
images.clip(img, x, y, w, h)
img 图片
x number 剪切区域的左上角横坐标
y number 剪切区域的左上角纵坐标
w number 剪切区域的宽度
h number 剪切区域的高度
var clip = images.clip(src, 100, 100, 400, 400);
images.save(clip, '/sdcard/clip.png');
- 上传文件时接口的使用
function image(){
var url = 'http://192.168.1.16:9528/api/1.0.0/open/pub/file/image'
var res = http.postMultipart(url, {Filedata: ['screencapture.png', 'image/png','/sdcard/screencapture.png'], });
let result_json = res.body.json().data.file_url
log(result_json);
return result_json
}
-
js url编码
encodeURIComponent("xxx") -
子集数量
childCount() -
生成时间
let date=new Date();
date.getYear();//获取当前年份(2位),122
date.getFullYear();//获取完整的年份(4位),2022
date.getMonth();//获取当前月份(0-11,0代表1月),因为从0开始,所以结果要+1才是正确月份,11
date.getDate();//获取当前日(1-31),6
date.getDay();//获取当前星期X(0-6,0代表星期天),2
date.getTime();//获取当前时间(从1970.1.1开始的毫秒数),1670317542537
date.getHours();//获取当前小时数(0-23),17
date.getMinutes();//获取当前分钟数(0-59),6
date.getSeconds();//获取当前秒数(0-59),47
date.getMilliseconds();//获取当前毫秒数(0-999),984
date.toLocaleDateString();//获取当前日期,2022/12/6
date.toLocaleTimeString();//获取当前时间,下午5:07:34
date.toLocaleString();//获取日期与时间,2022/12/6 下午5:07:47