本帖最后由 chenpi0903 于 2023-7-27 16:56 编辑
场景:公司实行弹性打卡,提前来提前走,所以想着准备个手机放公司,然后远程操作打卡,但是这个旧手机没有装卡,
公司也没有WiFi,起先找这个老兄的帖子
AGB v4.0 将电脑的网络用有线方式共享给手机的小软 https://www.52pojie.cn/thread-1712156-1-1.html
试了一下,确实可以,但是只能试用三天,后来找到这个软件,命令行形式的,没有可视化界面
使用方法:
1、打开android机的开发者模式,这个不同手机方法不一样,百度一下即可
2、打开USB调试
3、使用数据线将电脑与手机连接
4、双击“gnirehtet-run.cmd
此时会弹出点击“ 开启调试” 允许(会安装一个软件),关闭重新打开 gnirehtet-run.cmd
接下来是电脑操控手机打卡
1、需要用到adb https://wwwz.lanzout.com/iLWfx13lfj7c,python https://wwwz.lanzout.com/irpS913lfr6j
python安装流程自行百度,adb下载之后是免安装的,需要配置环境变量
配好以后在cmd窗口执行adb version,出现版本号就OK
下面是python代码,使用adb操控手机打卡,前提是钉钉自动打卡要打开
注意:每个手机的分辨率不一样,下面适用我的旧手机vivo X60,获取分辨率代码:adb shell wm size
[Python] 纯文本查看 复制代码 import datetime
import subprocess
import time
def run_cmd_Popen_fileno(cmd_string):
"""
执行cmd命令,并得到执行后的返回值,python调试界面输出返回值
:param cmd_string: cmd命令,如:'nvcc -V'
:return:*'
"""
time.sleep(2)
print('运行cmd指令:{}'.format(cmd_string))
return subprocess.Popen(cmd_string, shell=True, stdout=None, stderr=None).wait()
def daka():
# run_cmd_Popen_fileno('adb kill-server')
# run_cmd_Popen_fileno('adb start-server')
run_cmd_Popen_fileno('adb devices')
run_cmd_Popen_fileno('adb shell input keyevent 82') # 点亮屏幕
run_cmd_Popen_fileno('adb shell input swipe 500 1200 500 50') # 滑动一定距离解锁,未设置锁屏密码
run_cmd_Popen_fileno('adb shell input keyevent 3') # 返回主界面
run_cmd_Popen_fileno('adb shell wm size')
time.sleep(3)
run_cmd_Popen_fileno('adb shell am start com.alibaba.android.rimet/.biz.LaunchHomeActivity') # 打开钉钉
time.sleep(15) # 等待钉钉加载完成
run_cmd_Popen_fileno("adb shell input tap 555 2276") # 打开工作台
time.sleep(3)
run_cmd_Popen_fileno("adb shell input tap 150 810") # 考勤打卡
time.sleep(10)
run_cmd_Popen_fileno('adb shell input keyevent 3') # 返回主界面
time.sleep(3)
run_cmd_Popen_fileno('adb shell input keyevent 26') # 关闭屏幕
def is_weekend():
now_time = datetime.datetime.now().strftime("%w")
if now_time == "6" or now_time == "0":
return True
else:
return False
if __name__=='__main__':
if is_weekend() is False:
daka()
gnirehtet-rust-win64下载地址:https://wwwz.lanzout.com/ibuhB13lizod |