主页 > 网络教程 > Autojs进阶 > Autojs常用语句

推荐服务

Autojs免Root脚本定制服务

Autojs免Root脚本定制服务

编号: S84   浏览: 6152

Autojs尊享学员培训服务

Autojs尊享学员培训服务

编号: S83   浏览: 2911

推荐工具

千若微信养号辅助工具

千若微信养号辅助工具

编号: S1   浏览: 2788

织梦dedeCMS评论插件免费修复版

织梦dedeCMS评论插件免费修复版

编号: S2   浏览: 2983

Autojs常用语句

浏览: 次     责任编辑: Dawolf

之前说过,像Autojs官方文档里的内容,我们可以不完全记住,但是常用的一些必须掌握,不常用的那些要做了解,至少在看案例时别人写的是什么意思要知道,接下来就先简单介绍下Autojs最常用的一些语句,也是我们写微信养号辅助常用的语句:


以下说明的顺序是按照编写完整的程序从头到尾进行的...


"ui";

引入使用ui界面的唯一方法,当然,既然要使用ui,和ui布局相关的语句也应该掌握,官方文档都有。


setScreenMetrics(1080, 1920);

屏幕分辨率适配你编写脚本所使用的屏幕分辨率1080*1920,适配语句只有在你所写的程序中用到具体的坐标值才需使用,如果没有,则可忽略,比如用到click(500,500),这里点击的是具体坐标值,如需兼容其他分辨率,就需要适配。


ui.login.click(() => {
    threads.start(function () {
         xxx;
    });
});

ui界面id为"login"的按钮被点击时执行的xxx操作,其他id的按钮同理。


threads.start(function () {
      xxx;
});

开始执行子线程,xxx为子线程内容。


ui.abc.on("check", function (checked) {
    if (checked) {
       xxx;
    }
});

ui界面id为"abc"的开关或选项框被选中时执行xxx。


ui.abc.visibility = 0;

ui界面更改id为"abc"的控件可见,也就是显示出来,8为不可见,如果在ui界面直接设置某个控件不可见的话要使用gone,如”

<horizontal id="abc" visibility="gone">
    xxx;
</horizontal>

这便是水平区域内某些控件隐藏的案例,如果想让其在后期显示出来,命令为:ui.abc.visibility = 0;再让其隐藏起来:ui.abc.visibility = 8;通常可以用于一些开关类型的控件上,比如为某些控件设置一个总开关,当开关打开,则显示这些控件,当关闭开关,则隐藏这些控件等等。


app.startActivity({
     action: "android.xxx"
});

跳转至安卓手机"android.xxx"组件,主要用于快速跳转至安卓手机的一些设置界面,和aj中"意图"的作用类似。


ui.run(() => { ui.userlx.setText("游客") });

在ui界面中,将id为"userlx"的按钮或输入框设置内容为"游客"。在aj程序本身的ui界面给某个按钮或输入框赋值需要使用ui.run(() => {},而不是修改ui界面的内容时,直接使用xxx.setText("游客")即可。


if (aaa==1 && bbb != null) {
     xxx;
}else{
    yyy;
}

如果aaa等于1且bbb 不等于null,则执行xxx,否则执行yyy,也就是说在if判断语句中,且的符号是&&,而或的符号是||。


threads.shutDownAll();

停止所有通过threads.start开启的子程序。


exit();

退出程序。


//启动微信
launchApp("微信");

通过应用名称启动应用。


//启动微信
launch("com.tencent.mm");

通过应用包名启动应用。


app.openAppSetting("com.tencent.mm")

通过应用包名打开应用的设置页,常用语强制关闭应用或快捷跳转某项权限设置。


app.openUrl("http://www.sss.top/")

通过app执行使用浏览器打开网址。


waitForPackage("com.tencent.mm")

通过应用包名来实现等待当前界面为某个应用,案例为等待当前界面为微信,然后再执行一些其他操作。


var abc;

定义变量abc,abc是可变的值,比如var abc=1;即把1赋值给abc,如果后面再写一个var abc=2;则abc就等于2,与let不同,let赋值后不能改变,如let a=1,那么以后a就一直等于1。


random(100,200);

取100到200之间的一个随机数,如果只是random();则取0到1之间的随机浮点数。


toast("xxx");

安卓手机气泡提示信息"xxx"。


log("xxx");

打印日志"xxx"。


toastLog("xxx");

安卓手机气泡提示信息并打印日志"xxx"。


click(x, y);

点击坐标为x,y的点,时长为150毫秒。


press(x, y, 100);

点击坐标为x,y的点,时长为100毫秒,与click不同的是press可以控制点击时长。


swipe(x1, y1, x2, y2, duration)

模拟从坐标(x1, y1)滑动到坐标(x2, y2),duration是动作时长(毫秒),并返回是否成功。只有滑动操作执行完成时脚本才会继续执行。


device.width和device.height

设备的宽与高,一般用于限定查找控件的范围或规定某个ui控件的宽高或悬浮窗和控制台的位置。


dialogs

对话框,一般在复杂ui内才用到,常用于提示框或确认框,不再赘述,如果需要用到可查看官方文档或其他相关案例。


events.observeKey();
events.onKeyDown("volume_down", function (event) {
     threads.shutDownAll();
     toastLog("[音量减]被按下,已停止所有任务!");
});

事件,上例中是按键音量减的监听事件,如果按下此按键,则停止所有子程序并提示和打印日志"[音量减]被按下,已停止所有任务!"。


http.get或http.post

网络内容的get或者post内容,只有需要和网络数据对接才用的到。


back();或home();

按键模拟内的模拟点击返回键或模拟点击返回桌面键。


auto.waitFor()

检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。


Storages

本地存储相关的内容,没有几个,最好都了解下,直接看官方文档即可,是用到ui界面的程序中比较常用的功能。


function 登陆(username, password) {
    xxx;
}

定义函数“登陆(username, password) ”,xxx为函数要执行的内容,函数可以带参数也可以不带参数(例子中的username, password),带参数的作用就是传递 变量的值,比如例子中的username, password,这两个变量在函数内xxx内容中用到的话,就相当于在使用这个函数过程中把外部传递过来的username, password两个值给予利用,如果在函数内无需使用即时传递过来的变量,则无需加变量,直接使用“function 登录()”这种格式即可。此处不再举例。


登陆(admin, 123456);

执行函数“登陆(admin, 123456)”,此例子结合上面的定义函数例子来看,一个是调用,一个是执行,在此处,上例中的username就被赋值这里的admin,password被赋值123456,进而执行函数内的一系列操作,定义函数的好处就是在主程序中,写一句简单的调用代码即可实现相关的功能,简化主程序的代码,看起来更简洁和谐,因为复杂的乱七八糟的东西都被隐藏在放在其他位置的封装的函数里了。


数组相关

简单来说就是一些列的值组成的一个组,中括号引起来,比如["a","b","c",1,2,3],数组排序从0开始,如果需要调用数组内的值,则0代表第一个位置,比如var abc=["a","b","c",1,2,3],如果想把"b"打印出来,则表示为log(abc[1]),也就是说abc[1]=="b",abc[0]=="a"。


控件查找相关的命令

这也是aj最基本也是最重要的语法了,官方文档都有,不再重复说明,在微信中很多控件基本都需要一些比较复杂的判断,比如boundInside和fiddler是很常用的,所以对控件的查找语句掌握熟练可以起到事半功倍的效果,毕竟只有找准控件,才能执行接下来的其他操作。


其他内容

我们刚开始只需了解最常用的功能就好,像比较复杂的如意图、在线验证等等,可以到后期慢慢学习。其他基本都是官方文档里介绍的简单语句,不再赘述(详细说明的话工作量太大了...)

版权保护: 本文由[ 千若网络 ]编辑,如需转载敬请保留本文链接: http://www.sss.top/jc/autojsjj/88.html