Autojs学习笔记 附带a系滑块实战【一篇就够】
文章目录
万物编程先文档,本教程仅作为辅助参看,若要更加深入学习,请阅读官方文档: https://hyb1996.github.io/AutoJs-Docs/#/?id=%e7%bb%bc%e8%bf%b0
一、vscode环境配置快速启动、调试
【前置条件】:优先开启物障碍模式 左上角功能按钮->无障碍快捷方式->更多下载的服务 【根据不同的app】
1、vscode 插件: Auto.js-VSCodeExt 安装 (注意插件一定要选对!)
2、按 Ctrl+Shift+P 或点击"查看"->"命令面板"可调出命令面板,输入 Auto.js 可以看到几个命令,移动光标到命令Auto.js: Start Server,按回车键执行该命令。
3、启动auto js start server 后vscode 右下角会显示ip :端口
4、打开手机auto.js 功能页,选择连接电脑,输入上面的ip地址若无,可通过cmd窗口ipconfig获取
二、全局方法
waitForPackage(package[, period = 200])//等待指定的应用出现。
waitForPackage("com.tencent.mm")//例如等待当前界面为微信
waitForActivity(activity[, period = 200])//等待指定的Activity出现,period为检查Activity的间隔。
waitForActivity("com.ss.android.ugc.aweme.following.ui.FollowRelationTabActivity")//等待抖音其他用户的关注列表页面出现:
sleep(n)//毫秒数
log("message")//打印日志
toast("message")//气泡提示
toastLog("message")//打印日志并气泡提示
setClip("text")//设置剪贴板内容
exit()//立即停止脚本运行
random(min, max)//随机数
三、应用方法
launch("包名")//通过包名启动应用
launchPackage("包名")//通过包名启动应用
launchApp(appName)//通过名称启动应用
getPackageName(appName)//获取应用名称对应的已安装的应用的包名
getAppName("包名")//获取应用包名对应的已安装的应用的名称
app.openAppSetting("包名")//打开应用的详情页(设置页)。返回false; 否则返回true(全局)
app.editFile("/sdcard/1.txt/);//用其他应用编辑文件文本文件
app.uninstall("com.tencent.mobileqq");//卸载应用
app.openUrl("包名");//浏览器打开网站,Url,如果不以"http://"或"https://“开头则默认是"http://”
四、坐标方法
setScreenMetrics(width, height)在width*height的设备中,坐标操作自适应
width {
number} //屏幕宽度,单位像素
height {
number} //屏幕高度,单位像素
click(x, y)//点击
longClick(x, y)//长按
press(x, y, duration)//按住
swipe(x1, y1, x2, y2, duration)//滑动
swipeEx(x1, y1, x2, y2, duration)//仿真随机曲线滑动
gesture(duration, [x1, y1], [x2, y2], …)//手势路径,时长2s
gestures([delay1, duration1, [x1, y1], [x2, y2], …], [delay2, duration2, [x3, y3], [x4, y4], …], …)//延时多点手势路径
五、控件方法
5.1、 文本控件
setText([i, ]text)//输入框的文本置为text//返回是否输入成功。当找不到对应的文本框时返回false。//i表示i + 1个输入框
input([i, ]text)//输入框文本追加内容text//返回是否输入成功。当找不到对应的文本框时返回false。//i表示i + 1个输入框
click(text[, i])//点击大部分包含文字的按钮
while(!click("扫一扫"));//通常与while同时使用以便点击按钮直至成功
longClick(text[, i]))//长按文本
5.2、滑动控件
scrollUp([i])//找到第i+1个可滑动控件上滑或左滑。
scrollDown([i])//找到第i+1个可滑动控件下滑或右滑
className("ImageView").depth(10).findOne().click()//多条件定位点击
5.3、选择器控件
UiSelector.text(str)//text控件str
UiSelector.textContains(包含)//包含
UiSelector.textStartsWith(前缀)//前缀
UiSelector.te