钉钉打卡测试版

钉钉打卡闲着没事。。。

有大佬会做百度识图的没,求教。。。。

import uiautomator2 as u2
import time
from time import sleep, ctime
import threading
import datetime

i = int(time.strftime("%H%M%S"))
d = u2.connect()
# 连接
d.app_stop('com.alibaba.android.rimet')
# 关闭钉钉包(保证你的手机处于什么状态都能使脚本执行)


def dengdai():
    sleep(1)


def start_card():
    print(i)
    print('\n正在连接设备,请等待...\n')
    d = u2.connect()
    print('\n正在启动钉钉_早上...\n')
    d.app_start('com.alibaba.android.rimet')
    # 点击工作台
    # 点击考勤打卡
    # 点击上班打卡“蓝色圆圈”
    d.xpath(
        '//*[@resource-id="com.alibaba.android.rimet:id/home_app_recycler_view"]/android.widget.RelativeLayout['
        '3]/android.widget.FrameLayout[1]').click()
    time.sleep(3)
    d.xpath(
        '//*[@resource-id="__react-content"]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View['
        '1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]').click()
    time.sleep(3)
    d.xpath('//*[@resource-id="__react-content"]/android.view.View[1]/android.view.View[1]/android.view.View['
            '1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[3]/android.view.View['
            '1]').click()
    print('上班打卡成功,退出APP')
    time.sleep(3)
    d.app_stop('com.alibaba.android.rimet')


def end_card():
    print(i)
    print('\n正在连接设备,请等待...\n')
    d = u2.connect()
    print('\n正在启动钉钉_晚上...\n')
    d.app_start('com.alibaba.android.rimet')
    # 启动包 后面是包名
    # 点击工作台
    # 点击考勤打卡
    # 点击下班打卡“蓝色圆圈”
    d.xpath(
        '//*[@resource-id="com.alibaba.android.rimet:id/home_app_recycler_view"]/android.widget.RelativeLayout['
        '3]/android.widget.FrameLayout[1]').click()
    time.sleep(3)
    d.xpath(
        '//*[@resource-id="__react-content"]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View['
        '1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]').click()
    time.sleep(3)
    d.xpath(
        '//*[@resource-id="__react-content"]/android.view.View[1]/android.view.View[1]/android.view.View['
        '1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[3]/android.view.View['
        '1]').click()
    print('下班打卡成功,退出APP')
    time.sleep(3)
    d.app_stop('com.alibaba.android.rimet')
    # 关闭包


def all_star():
    a = int(input("请输入上班时间:__时__分__秒???______六位整数:\n"))
    b = int(input("请输入下班时间:__时__分__秒???______六位整数:\n"))
    print("\n正在统计当前时间,每秒刷新,请等待...\n%d\n%d\n" % (a, b))
    # 好久没写忘了输出函数了参考。。。。print("%d%d%d" % (i, j, i * j))
    while 1 == 1:
        # 死循环
        dengdai()
        # 等一秒
        s = int(time.strftime("%H%M%S"))
        j = s
        s = j
        if s == a:
            start_card()
            print("现在是上班时间:", s)
        if s == b:
            end_card()
            print("现在是下班时间:", s)
            break
        if s != a or s != b:
            itime = time.strftime("%H:%M:%S")
            # print(itime)


if __name__ == '__main__':
    i = int(time.strftime("%H%M%S"))
    print("此脚本运行开始时间为:\n", i)
    all_star()

先说思路

先关闭包
获取系统的当前时间,给他死循环,再用个判断语句,
当系统时间等于指定(上班)(下班)时间时,启动包执行上下班打卡
再关闭包,,,,不会做容错,没做。。。。

备注

首先CMD命令行启动这啥代理

python -m weditor

用的最新版的钉钉。。。我也不认为这玩意有多大用,没测试过隔天,缺的包直接导包就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值