手机app自动化之Autojs:官网
首先电脑安装vscode,之后在插件里面搜索插件:Autojs,我这里版本有点老,故选择:
模拟器或者手机当然要安装 Autojs,注意要和电脑的版本一致
在vscode开启Autojs服务:
ctrl+shift+p 命令模式
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以上支持
然后在手机端,打开无障碍模式,链接电脑IP
打开软件进行测试,F5运行代码:
auto.waitFor()
var appName = "手机淘宝";
launchApp(appName);
sleep(3000);
toast("Hello world!")
log("Hello world!")
注意打开vscode的log平台,之后就可以用log()
代码展示:
// 或者使用手机端 xpath --->//div[@class="item eye-protector-processed"]//text()
/*
使用说明 需要 c+s+p -->输入 autojs start server --->vs打开 开发人员工具(帮助下面)
在手机端 autojs 1,打开无障碍 2,链接 3,连着点击5次关于手机(开发者模式--->打开鼠标指针可以直接 click(x,y))
F5 开始运行
如果在置頂上輸入:
console.show();
var node=desc('教程').className('android.widget').findOnce();
if (node){
log(node);
//点击它的父组件
var nodeParent = node.parent();
nodeParent.click();
// node.click();
}else{
log('null')
}
#可以用launch+包名打开
在autojs 在软件点击,查看 packageName
launch("com.kuaishou.nebula")
launchApp(软件名)
*/
function startApp(appName) {
auto.waitFor();
launchApp(appName);
sleep(3000);
toast(appName + "打开成功");
}
function click_data() {
let shuju = text("数据").findOne(1000).bounds();
click(shuju.centerX(), shuju.centerY());
}
function click_Atp() {
let atp = text("ATP").findOne(1000).bounds();
click(atp.centerX(), atp.centerY());
log("atp", atp);
}
function click_Wta() {
let wta= text("WTA").findOne(1000).bounds();
click(wta.centerX(), wta.centerY());
log("wta", wta);
}
function hd() {
var height = device.height; //设定高度值=设备高度
var width = device.width;
swipe(width / 2, height - 500, width / 2, 0, 500);
}
function click_dateList() {
let date = id("tv_tennis_rank_stage").findOne(1000).bounds();
click(date.centerX(), date.centerY());
}
// 一边翻页,一边获取数据
function get_data() {
var all_list = [];
for (var i = 0; i < 8; i++) {
//控制 下滑 次数
var list = className("android.widget.TextView").find();
for (let li = 0; li < 11; li++) {
list_data = list[li].text();
if (list_data != "取消") {
all_list.push(list_data);
}
}
// hd();
scrollDown()