当前位置:   article > 正文

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

autojs连接vscode

 一,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,就可以将代码保存到手机端了。

  1. auto.waitFor();
  2. console.show();
  3. console.setSize(300,300);
  4. console.setPosition(300, 1000);
  5. console.log("ccit打卡开始");
  6. var appName = "微信";
  7. launchApp(appName);
  8. text("微信").waitFor();
  9. console.log("进入首页");
  10. var widget = className("TextView").depth(13).findOne();
  11. click(widget.bounds().centerX(),widget.bounds().centerY());
  12. sleep(1000);
  13. while(text('最近').exists()==false){
  14. swipe((device.width)/4,(device.height)/4,(device.width)*3/4,(device.height)*3/4,1000);};
  15. swipe((device.width)/4,(device.height)/4,(device.width)*3/4,(device.height)*3/4,1000);
  16. text("最近").waitFor();
  17. var widget1 = text('长工程校园打卡').findOne();
  18. click(widget1.bounds().centerX(),widget1.bounds().centerY());
  19. sleep(2000);
  20. console.log('正在打卡——' )
  21. click(534,709);
  22. sleep(2000);
  23. click(318,709);
  24. sleep(2000);
  25. press(115,1575,1000);
  26. sleep(3000);
  27. swipe(1064,2220,1664,500,2000);
  28. sleep(2000);
  29. click(108,610);
  30. sleep(2000);
  31. press(108,1338,1000)
  32. sleep(2000);
  33. click(108,2140);
  34. sleep(2000);
  35. swipe(1064,2220,1664,500,2000);
  36. sleep(2000);
  37. click(210,863);
  38. sleep(2000);
  39. click(210,1289);
  40. sleep(2000);
  41. click(210,1770);
  42. sleep(2000);
  43. swipe(1064,2220,1664,500,2000);
  44. click(221,1200);
  45. sleep(2000);
  46. click(210,1562);
  47. sleep(2000);
  48. press(200,1800,1000);
  49. sleep(10000);
  50. click(228,2088);
  51. sleep(2000);
  52. click(712,1251);
  53. console.log('打卡完成!')

六,改坐标

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

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

七,日常实现

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

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/880546
推荐阅读
相关标签
  

闽ICP备14008679号