python实现小米手机 dingding 自动打卡

我所使用的为python 3.9.2, 这个可以自己去下载

 首先要对手机进行设置

打开小米手机的设置

点击我的设备

python实现小米手机 dingding 自动打卡

点击全部参数

python实现小米手机 dingding 自动打卡

点击多次点击MIUI版本即可将手机调整为开发者模式

python实现小米手机 dingding 自动打卡

返回设置页面,点击更多设置

python实现小米手机 dingding 自动打卡

 点击开发者选项,打开里面的USB调试以及指针位置(打开指针位置的目的是为了获取你dingding App在屏幕上面的位置)

 python实现小米手机 dingding 自动打卡

 

对于整个代码的解释就暂时先不写了,网上都可以查的到

可以实现在在某一时间段内的随机时间自动打卡

 建议把dingding设置成极速打卡,能够减少手机操作

 整个代码段如下图所示:

import os
import time
import random
def daka():
    print(os.system('adb devices'))  #连接手机
    time.sleep(5)
    print(os.system('adb shell input keyevent 224'))    # 电源键
    time.sleep(3)
    print(os.system('adb shell input keyevent 3'))  #按动home键,返回主页
    time.sleep(2)
    print(os.system('adb shell input keyevent 3')) #再次按动home键,确保返回主页
    time.sleep(3)
    print(os.system('adb shell input tap 150 820 '))   # 点击钉钉应用
    time.sleep(15)
    print(os.system('adb shell am force-stop com.alibaba.android.rimet'))# 操作打卡完成后关闭钉钉应用
    time.sleep(3)
    print(os.system('adb shell input keyevent 26'))    # 熄灭屏幕
    print("程序运行时间:",c)
    pass
#设定时间
while 1==1:
    suiji1=random.randint(1,9)
    suiji2=random.randint(5,9)
    suiji3=random.randint(10,50)
    suiji4=random.randint(1,5)
    while 1==1:
        time.sleep(1)
        localtime=time.asctime(time.localtime(time.time()))
        a=str(localtime)
        a.split(' ')
        b=a.split(' ')
        c=b[3]  #c为当前时间的字符串
        if c in ['08:0{}:{}'.format(suiji1,suiji3),'08:3{}:{}'.format(suiji1,suiji3)]:
            daka()
            time.sleep(10)
            break
        elif c in ['11:1{}:{}'.format(suiji2,suiji3),'11:4{}:{}'.format(suiji4,suiji3)]:
            daka()
            time.sleep(10)
            break
        elif c in ['13:0{}:{}'.format(suiji2,suiji3),'13:2{}:{}'.format(suiji4,suiji3)]:
            daka()
            time.sleep(10)
            break
        elif c in ['17:0{}:{}'.format(suiji1,suiji3),'17:1{}:{}'.format(suiji1,suiji3)]: #每天时间没变化
            daka()
            time.sleep(10)
            break
        elif c in ['18:1{}:{}'.format(suiji2,suiji3),'18:2{}:{}'.format(suiji4,suiji3)]: #每天时间没变化
            daka()
            time.sleep(10)
            break
        elif c in ['22:1{}:{}'.format(suiji2,suiji3),'21:4{}:{}'.format(suiji4,suiji3)]:
            daka()
            time.sleep(10)
            break
    time.sleep(600)


文章仅供参考,请用于正道

非正式程序员,物理系搬砖工一枚

上一篇:第五次作业


下一篇:CodeForces - 55D Beautiful numbers (数位dp)