赞
踩
Autox.js是在GitHub上免费开源的一款软件,下载地址:kkevsekk1/AutoX: A UiAutomator on android, does not need root access(安卓平台上的JavaScript自动化工具) (github.com)
下载好之后在手机安装。
我们可以安装好Autox.js的相关插件,使得我们可以直接在vscode里编写autox.js的代码,在配合上scrcpy软件,这样开发脚本十分直观方便。如图所示:
我们在插件商店那里,搜索Auto.js,如图,下载第一个和第四个。
scrcpy同样是GitHub上的开源项目,下载地址:Genymobile/scrcpy: Display and control your Android device
下载好之后用数据线连接手机,如果需要鼠标直接操作手机,还需要打开手机开发者选项里的USB调试功能。
我们在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。
- 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文件右边的三个小点,点击,更多,定时任务,调到你想执行的时间,就欧克了。
脚本打卡仅适用于正常日常情况,有特殊情况还是需要报告。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。