autojs获取id_⼿把⼿教你使⽤AutoJS⾃动领京⾖AutoJS
⼀个⽀持⽆障碍服务的Android平台上的JavaScript IDE。Autojs主要是基于安卓系统的⽆障碍服务,实现⾃动化操控和监控⼿机信息处理。
特性:
1. 由⽆障碍服务实现的简单易⽤的⾃动操作函数
2. 悬浮窗录制和运⾏
3. 更专业&强⼤的选择器API,提供对屏幕上的控件的寻、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您
也可以把他当做移动版UI测试框架使⽤
4. 采⽤JavaScript为脚本语⾔,并⽀持代码补全、变量重命名、代码格式化、查替换等功能,可以作为⼀个JavaScript IDE使⽤
5. ⽀持使⽤e4x编写界⾯,并可以将JavaScript打包为apk⽂件,您可以⽤它来开发⼩⼯具应⽤
6. ⽀持使⽤Root权限以提供更强⼤的屏幕点击、滑动、录制功能和运⾏shell命令。录制录制可产⽣js⽂件或⼆进制⽂件,录制动作的回
放⽐较流畅
7. 提供截取屏幕、保存截图、图⽚⾊、图等函数
8. 可作为Tasker插件使⽤,结合Tasker可胜任⽇常⼯作流
9. 带有界⾯分析⼯具,类似Android Studio的LayoutInspector,可以分析界⾯层次和范围、获取界⾯上的控件信息
项⽬介绍:
项⽬地址:github/hyb1996/Auto.js
官⽅论坛:/
在线⽂档:hyb1996.github.io/AutoJs-Docs/#/
专业版地址:/
安装
开启⼿机⽆障碍服务
在某些版本上打开⾳量上键停⽌所有脚本,防⽌死循环脚本(我所使⽤的版本上默认开启)打开悬浮窗进⾏布局分析
悬浮窗功能
编辑环境配置
autojs软件提供了⾮常好的⼿机端编写⽀持,拥有强⼤的提⽰功能,基本上我们在⼿机端进⾏编写也是⾮常舒适的。同时有VS Code 插件可提供基础的在桌⾯开发的功能。免费版我们下载:Auto.js-VSCodeExt
根据我们安装的版本进⾏选择
插件命令:
按Ctrl+Shift+P或点击“查看”->“命令⾯板”可调出命令⾯板,输⼊Auto.js可以看到以下命令:
如何启用javascript功能Start Server: 启动插件服务。之后在确保⼿机和电脑在同⼀区域⽹的情况下,在Auto.js的侧拉菜单中使⽤连接电脑功能连接。
Stop Server: 停⽌插件服务。
Run: 运⾏当前编辑器的脚本。如果有多个设备连接,则该所有设备运⾏。
Rerun: 停⽌当前⽂件对应的脚本并重新运⾏。如果有多个设备连接,则该所有设备重新运⾏。
Stop: 停⽌当前⽂件对应的脚本。如果有多个设备连接,则该所有设备停⽌。
StopAll: 停⽌所有正在运⾏的脚本。如果有多个设备连接,则在所有设备运⾏所有脚本。
Save: 保存当前⽂件到⼿机的脚本默认⽬录(⽂件名会加上前缀remote)。如果有多个设备连接,则在所有设备保存。
RunOnDevice: 弹出设备菜单并在指定设备运⾏脚本。
SaveToDevice: 弹出设备菜单并在指定设备保存脚本。
New Project(新建项⽬):选择⼀个空⽂件夹(或者在⽂件管理器中新建⼀个空⽂件夹),将会⾃动创建⼀个项⽬
Run Project(运⾏项⽬):运⾏⼀个项⽬,需要Auto.js 4.0.4Alpha5以上⽀持
Save Project(保存项⽬):保存⼀个项⽬,需要Auto.js 4.0.4Alpha5以上⽀持
使⽤vscode进⾏开发
在命令⾯板选择Start Server启动服务,右下⾓会显⽰Auto.js server running
将⼿机与电脑连接到同⼀个WiFi,查看电脑的IP地址。在⼿机端AutoJS侧边菜单中选择远程调试,并输⼊电脑IP,vscode中会显⽰连接成功
AutoJS侧边栏设置
vscode右下⾓
vscode中创建JS⽂件,按F5或者选择Run命令,即可在⼿机端进⾏运⾏
在vscode命令⾯板中选择Save,将⾃动发送并保存到⼿机上
常⽤命令及函数
auto.waitFor()
检查⽆障碍服务是否已经启⽤,如果没有启⽤则跳转到⽆障碍服务启⽤界⾯,并等待⽆障碍服务启动;当⽆障碍服务启动后脚本会继续运⾏。
app.launchApp(appName)
appName {string} 应⽤名称
通过应⽤名称启动应⽤。如果该名称对应的应⽤不存在,则返回false; 否则返回true。如果该名称对应多个应⽤,则只启动其中某⼀个。
<(str)
str {string} 控件⽂本
返回 {UiSelector} 返回选择器⾃⾝以便链式调⽤
为当前选择器附加控件"text等于字符串str"的筛选条件。
控件的text(⽂本)属性是⽂本控件上的显⽰的⽂字,例如左上⾓的""⽂本。
str {string} 要包含的字符串
为当前选择器附加控件"text需要包含字符串str"的筛选条件。
这是⼀个⽐较有⽤的条件,例如QQ动态页和微博发现页上⽅的"⼤家都在搜…."的控件可以⽤textContains("⼤家都在搜").findOne()来获取。
bounds()
返回 Rect
返回控件在屏幕上的范围,其值是⼀个Rect对象
findOne(selector)
selector UiSelector
返回 UiOobject
根据选择器selector在该控件的⼦控件、孙控件…中搜索符合该选择器条件的控件,并返回到的第⼀个控件;如果没有到符合条件的控件则返回null。
其他API请看官⽅⽂档。要注意控件的click函数不⼀定会⽣效,因此推荐使⽤全局点击click函数。
京东签到领京⾖
开启AutoJS的悬浮窗
打开京东商城APP
选择AutoJS悬浮窗的布局分析
1. 选择布局分析
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论