本脚本只针对北京地铁。请确保无障碍权限开启了。
如果有出入,请自行修改。
1. 工具类
mokuai.js
//根据app名称打开指定程序
function launchApp(appName){
app.launchApp(appName);
}
// 点击文本
function textClick(str,isParent){
var b = text(str).findOne().bounds();
if(isParent){
b=text(str).findOne().parent().bounds();
}
click(b.centerX(), b.centerY());
}
module.exports.tools={
launchApp,
textClick
}
2. e卡通北京地铁
自动打开e卡北京地铁二维码
let { tools } = require("./mokuai.js");
/**
* ctrl + shift+ p
* 建立设备连接 -> autojs6(服务端) < vscode(客户端)
*/
tools.launchApp("铁路12306");
// 超时关闭
var thread = threads.start(function(){
sleep(1*60*1000);
/**
* 退出有两种条件:1.执行完成 2.超时
*/
log("超时关闭")
exit();
});
//开屏
let open=threads.start(()=>{
let i=0;
while(i<60){
// 版本更新
if(text("稍后再说").exists()){
//text("稍后再说").findOne().click();
tools.textClick("稍后再说")
}
// 开屏广告跳过
if(id('com.MobileTicket:id/tv_skip').exists()){
id('com.MobileTicket:id/tv_skip').findOne().click();
}
// 铁路e卡通
if(text("铁路e卡通").exists()){
// text("铁路e卡通").findOne().parent().click();
tools.textClick("铁路e卡通",true)
}
// 二维码不存在
if(!className("android.view.View").text("北京轨道交通乘车码").exists()){
// 尝试点击操作北京地铁
if(text("北京地铁").exists()){
//className("android.widget.Button").text("北京地铁").findOne().click();
tools.textClick("北京地铁")
}
}else{
log("显示二维码")
exit();
}
i++;
sleep(1000);
}
});
以上注释代码建议不要使用,虽然作用一样,但是稳定性很不好,以上代码都是自己经过多次使用。
可以添加快捷方式到桌面,更方便使用。
写脚本是一件费时费力的事,真心累啊!!!光我写脚本的所花时间远比我一辈子正常点e卡通二维码时间多得多。
|