钉钉打卡闲着没事。。。
有大佬会做百度识图的没,求教。。。。
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
用的最新版的钉钉。。。我也不认为这玩意有多大用,没测试过隔天,缺的包直接导包就行了