Python realiza DingTalk / Enterprise WeChat clocking automático [disponível para teste profissional]

Quando você corre todos os dias para o metrô para o trabalho, sempre se esquece de fazer o check-in por acidente, principalmente com o software.Há alguma maneira de resolver o problema de esquecer de fazer o check-in? Hoje, gostaria de recomendar um artefato a todos, que usa Python para realizar a temporização e o relógio automático.

1 Preparação preliminar da ferramenta

  • Desnecessário dizer Python

  • Um 24 horas pode ser colocado no telefone Android da empresa ou computador para instalar o emulador

  • Ferramentas ADB

As regras antigas, você precisa de um pacote de software para prestar atenção ao editor, grupo QQ: 721195303 para receber.

2 Instalação e configuração do ADB

Vá para baixar o pacote de instalação do ADB, adicione o diretório na variável de ambiente Caminho após a instalação

imagem

2 Instalação do UIautomator2

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

3 Conecte o telefone ao computador

3.1 Móvel

Se estiver usando um telefone celular, você precisa ativar o modo "Opções do desenvolvedor" no telefone celular, ativar a depuração de USB e inserir o USB no computador

Entrada de linha de comando

adb devices

Verifique se o telefone está conectado com sucesso

O seguinte mostra o sucesso

imagem

Então corra

python3 -m uiautomator2 init

Instale o agente atx no telefone

3.2 Simulador

Se você usar o simulador, abra a conexão ADB nas configurações do simulador e digite a linha de comando para adb devicesverificar se a conexão foi bem-sucedida. Se o simulador for usado, o local de posicionamento precisa ser alterado para o intervalo de punção exigido pela empresa. as etapas são as mesmas acima

4 instalação e uso do webitor

A fim de agarrar o controle mais conveniente para instalar o weditor

pip install --pre weditor

Entrada de linha de comando

python -m weditor

Operar no navegador pop-up

imagem

Preencha o número de série do dispositivo obtido na terceira etapa na caixa de entrada e clique em Conectar. Normalmente, haverá uma folha verde e as informações de controle do aplicativo devem ser obtidas aqui

5 desenvolvimento de código

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()
 

O código para a parte de check-in e as capturas de tela enviadas pelo WeChat exigem que você ajuste as etapas de acordo com sua situação real. Além disso, se você não está acostumado a usar a biblioteca apscheduler, também é possível usar o agendador de tarefas que vem com o sistema.Os efeitos de alguns passos são os seguintes:

 

imagem

 

O mesmo é verdadeiro para o check-in corporativo do WeChat. Você pode fazer sua própria pesquisa. Espero que você use apenas para aprender e não desafie as regras e regulamentos da empresa.

Ainda quero recomendar o grupo de aprendizagem Python que construí por mim mesmo : 721195303 , todos os quais estão aprendendo Python. Se você quiser aprender ou estiver aprendendo Python, seja bem-vindo. Todos são parte do desenvolvimento de software e compartilham produtos secos de de vez em quando (apenas relacionado ao desenvolvimento de software Python), incluindo uma cópia dos materiais avançados mais recentes do Python e ensino baseado em zero compilado por mim em 2021. Bem-vindos amigos que estão em nível avançado e interessados ​​em Python!

Acho que você gosta

Origin blog.csdn.net/m0_55479420/article/details/114587566
Recomendado
Clasificación