• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python实现钉钉/企业微信自动打卡的示例代码

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡。

    1 前期工具准备

    2 ADB的安装配置

    去下载ADB安装包,安装后在环境变量Path中添加目录

    2.1 UIautomator2的安装

    # 安装 uiautomator2(PC端)
    pip3 install -U uiautomator2

    3 手机连接电脑

    3.1 手机

    如果使用的是手机,需要手机开启“开发者选项”模式,然后USB调试打开,将USB插入电脑

    命令行输入

    adb devices

    检测手机是否连接成功

    下面这样就说明成功了

    然后运行

    python3 -m uiautomator2 init

    将atx-agent安装到手机

    3.2模拟器

    如果使用模拟器,在模拟器的设置中将ADB连接打开,同样在命令行输入adb devices检测是否连接成功,是用模拟器的话定位位置需要更改为公司要求打卡范围内,后续步骤同上

    4 webitor安装使用

    为了抓取控件更方便安装weditor

    pip install --pre weditor

    命令行输入

    python -m weditor

    在弹开的浏览器中进行操作

    输入框中填入第三步得到的设备序列号,然后点击Connect,正常的话会有个绿色的叶子,应用控件的信息就需要在这里拿到了

    5 代码开发

    import uiautomator2 as u2
    import time
    from apscheduler.schedulers.blocking import BlockingScheduler
     
    d = u2.connect_usb('b11b0fbe')
    def click_text(self,str,sq=0): #对于无法直接点击的控件写了个函数
       path=d(text=str)[sq]
       x,y=path.center()
       d.click(x,y)
    def click(card_ty):
       d.app_start("com.alibaba.android.rimet") # 启动应用
       time.sleep(5)
       d(text="工作台").click()
       time.sleep(3)
       d(text="考勤打卡").click()
       time.sleep(3)
       d(scrollable=True).fling.toEnd()
       click_text(d,card_ty,-1)
       time.sleep(3)
       d.screenshot("11.jpg")
       d.push("11.jpg", "/sdcard/0/11.jpg")
       d.app_stop("com.alibaba.android.rimet")
       send_info()
    def send_info(): #将打卡信息截图利用小号发送给自己大号
       d.app_start("com.tencent.mm") # 启动应用
       time.sleep(5)
       click_text(d,"通讯录")
       click_text(d,"打卡")
       click_text(d,"发消息")
       time.sleep(2)
       d(description="更多功能按钮,已折叠").click()
       time.sleep(2)
       d.swipe(1000, 1450, 100, 1450)
       time.sleep(2)
       click_text(d,"文件")
       time.sleep(2)
       click_text(d,"微信文件",-1)
       click_text(d,"手机存储")
       click_text(d,"0")
       d(resourceId="com.tencent.mm:id/cvh").click()
       d(text="发送(1/9)").click()
       d(text="给朋友留言").click()
       d.send_keys("今日打卡记录,请注意查收", clear=True)
       d(text="发送").click()
       time.sleep(5)
       d.app_stop("com.tencent.mm")
     
    def job1():
       click("上班打卡")
    def job2():
       click("下班打卡")    
    if __name__ == "__main__":
       sched = BlockingScheduler() #设置定时任务,周一至周五 上午8.50自动打上班卡,下午6.10自动打下班卡
       sched.add_job(job1, 'cron', day_of_week='mon-fri', hour='8',minute ='50')
       sched.add_job(job2, 'cron', day_of_week='mon-fri', hour='18',minute ='10')
       sched.start()

    其中打卡部分以及微信发送打卡截图部分的代码,需要大家自己根据自己实际的情况做步骤调整。另外不习惯使用apscheduler库的话用系统自带的任务计划程序也是可以的,部分步骤效果如下: 

    企业微信打卡同理,大家可以自行研究,希望大家只是用于学习,不要挑战公司规章制度。

    到此这篇关于Python实现钉钉/企业微信自动打卡的示例代码的文章就介绍到这了,更多相关Python 钉钉/企业微信自动打卡内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python实现企业微信定时发送文本消息的实例代码
    • python实现企业微信定时发送文本消息的示例代码
    • python向企业微信发送文字和图片消息的示例
    • Python开发企业微信机器人每天定时发消息实例
    • Python实现企业微信机器人每天定时发消息实例
    • 使用Python实现企业微信的自动打卡功能
    • 通过shell+python实现企业微信预警
    • 教你利用python实现企业微信发送消息
    上一篇:手把手教你配置JupyterLab 环境的实现
    下一篇:Python 中 sorted 如何自定义比较逻辑
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python实现钉钉/企业微信自动打卡的示例代码 Python,实现,钉钉,企业,微信,