Auto.js实现健康码的自动更新

1. Auto.js脚本

有些元素无法点击,只能使用坐标模拟操作,如果屏幕分辨率不一样脚本可能无法正常使用,请自行调整(我的屏幕是2340x1080的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
auto.waitFor();
log("脚本开始")
launch("com.tencent.mm");
//双开应用选择,如需要可以取消注释
//log("呼出微信")
//sleep(500);
//className("LinearLayout").clickable().findOne().click();
log("打开微信")
sleep(1500);
//下滑
swipe(device.width / 2,300,device.width / 2,1500,100);
log("打开小程序")
sleep(500);
//自动识别文字点击
click("防疫健康码…");
log("打开防疫健康码")
sleep(2000);
//判断是否在加载
while (text("努力加载中...").exists()){
log("加载中")
sleep(500);
}
log("加载完成")
//这里的坐标可能需要调整
click(device.width / 2,1694);
log("点击进入")
sleep(1000);
click(device.width / 2,755);
log("填报健康情况")
sleep(1000);
click("有居民身份证者");
log("有居民身份证者")
log("等待加载")
//通过元素判断是否完全加载
text("提交").waitFor();
sleep(1000);
log("加载完成")
//自动选择所有的否
text("否").clickable().click();
log("所有否")
text("自觉正常且未服用退烧药").className("CheckBox").clickable().click();
log("未服用退烧药")
text("未接受过新型冠状病毒检测").clickable().click();
log("未接受过检测")
text("未去过").clickable().click();
log("未去过")
//填写体温,因为无法直接点击和填写,这里用了滚动和模拟点击,不同分辨率可能坐标有出入,自行调整
sleep(100);
var t=0
while(t < 6){
swipe(device.width / 2, 1500, device.width / 2, 200, 40);
t++;
}
sleep(500);
click(device.width / 2,1756);
className("EditText").findOne().setText("37");
log("填写体温")
text("个人声明:本人保证以上填报内容真实准确。如有虚假内容,愿承担相应法律责任。本人知晓,上述信息对于生成健康码至关重要,一旦提交,无论是否系误填,均不可更改,相关责任和后果自负。").clickable().click();
log("个人声明勾选")
text("提交").clickable().click();
log("提交")
text("确认提交").waitFor();
text("确认提交").clickable().click();
log("确认提交")
text("立即生成健康码").clickable().click();
log("生成健康码")

欢迎关注我的其它发布渠道