Autox.js与vscode的连接,并实现自动打卡功能(ccit)

 一,Autox.js的安装

Autox.js是在GitHub上免费开源的一款软件,下载地址:kkevsekk1/AutoX: A UiAutomator on android, does not need root access(安卓平台上的JavaScript自动化工具) (github.com)

 下载好之后在手机安装。

二,vscode的插件安装

我们可以安装好Autox.js的相关插件,使得我们可以直接在vscode里编写autox.js的代码,在配合上scrcpy软件,这样开发脚本十分直观方便。如图所示: 

我们在插件商店那里,搜索Auto.js,如图,下载第一个和第四个。 

三,scrcpy的下载

scrcpy同样是GitHub上的开源项目,下载地址:Genymobile/scrcpy: Display and control your Android device

 下载好之后用数据线连接手机,如果需要鼠标直接操作手机,还需要打开手机开发者选项里的USB调试功能。

四,Autox.js与vscode的连接

我们在vscode里新建一个js文件,然后shift+ctrl+p弹出一些命令,我们找到Auto.js:strat sever,点击。

接着我们需要打开电脑的9317端口,找到电脑右下角wifi图标,点击右键,点击打开网络与internet设置——window防火墙——高级设置——入站规则——新建规则——端口——特定端口9317,然后命名,一直下一步就可以了。

然后我们点击Autox.js左上角,打开菜单,点击连接电脑,输入我们电脑的ip地址连接即可。或者, 我们在第一次按下Auto.js:strat sever时,电脑右下角会跳出一个窗口,我们点击show QR code,然后选择电脑ip地址,可生成二维码,我们可以扫码连接。我们同时也要保证手机与电脑在同一局域网中,通俗来讲就是连一个wifi。

 五,相关代码:将代码写好后,shift+ctrl+p,点击Auto.js:save,就可以将代码保存到手机端了。

auto.waitFor();
console.show();
console.setSize(300,300);
console.setPosition(300, 1000);
console.log("ccit打卡开始");
var appName = "微信";
launchApp(appName);
 
  text("微信").waitFor();
  console.log("进入首页");
  var widget = className("TextView").depth(13).findOne();
  click(widget.bounds().centerX(),widget.bounds().centerY());
  sleep(1000);
 
while(text('最近').exists()==false){
  
swipe((device.width)/4,(device.height)/4,(device.width)*3/4,(device.height)*3/4,1000);};
 
swipe((device.width)/4,(device.height)/4,(device.width)*3/4,(device.height)*3/4,1000);
 
  
  text("最近").waitFor();

  var widget1 = text('长工程校园打卡').findOne();

  click(widget1.bounds().centerX(),widget1.bounds().centerY());

  sleep(2000);

  console.log('正在打卡——' )

  click(534,709);
 
 
  sleep(2000);

  click(318,709);

  sleep(2000);

  press(115,1575,1000);

  sleep(3000);
  
  swipe(1064,2220,1664,500,2000);
  
  sleep(2000);

  click(108,610);

  sleep(2000);

  press(108,1338,1000)

  sleep(2000);

  click(108,2140);

  sleep(2000);

  swipe(1064,2220,1664,500,2000);

  sleep(2000);

  click(210,863);

  sleep(2000);

  click(210,1289);

  sleep(2000);

  click(210,1770);

  sleep(2000);

  swipe(1064,2220,1664,500,2000);

  click(221,1200);

  sleep(2000);

  click(210,1562);

  sleep(2000);

  press(200,1800,1000);

  sleep(10000);

  click(228,2088);

  sleep(2000);

  click(712,1251);
  
  console.log('打卡完成!')
  
  
 





六,改坐标

上面的代码是我针对我的手机像素坐标来写的,所以不同机型并不能通用,我们需要修改click后的坐标来使代码可以通用。

首先,我们打开手机的无障碍模式,打开显示指针功能。这样我们就可以看到我们点击手机的落点的坐标。所以,我们打开vscode同时使用scrcpy将手机投影到电脑,打开打卡小程序,代码中“正在打卡——”后的第一个click对应健康打卡按钮,后面的按钮,同学们针对该按钮在手机的坐标来改变click里的参数。swipe是模拟滑动,swipe(x1,y1,x2,y2,t),必须要注意的是x1,y1的坐标必须在小程序的蓝色部分,在白色的区域划不动。

七,日常实现

Autox.js保存的js文件右边的三个小点,点击,更多,定时任务,调到你想执行的时间,就欧克了。

脚本打卡仅适用于正常日常情况,有特殊情况还是需要报告。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃巧乐兹的源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值