image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Marquescharlon Santos
Marquescharlon Santos17/08/2023 22:11
Share

Solução real para um problema persistente na empresa. Realizar login, navegar, baixar e descompactar arquivos .RAR com Selenium e Python

  • #GitHub
  • #Python
  • #Selenium

Olá, como vai?

Este artigo tem como objetivo apresentar uma solução real de um problema enfrentado enquanto atuava como Analista de Processamento de Dados.

Ainda não sabia programar em Python, um ponto positivo a curva de aprendizagem dessa linguagem. Fui aprendendo na medida que ia desenvolvendo este projeto. Foi incrível esse desafio.

Foi estipulado como meta à automatização de um processo que teria como resultado:

  • Diminuir o número das atividades diárias;
  • Minimizar ou mesmo inibir falhas humanas;
  • Diminuir o SLA do nosso setor e do Suporte.

O problema:

  • Sem API para consumir;
  • Duas empresas do mesmo fornecedor acessível em diferentes usuários e senhas;
  • Retorno atrasado de arquivos;
  • Sem retorno nos finais de semana porque não tinha ninguém para executá-lo.

Todos os dias eu precisava acessar um site de um fornecedor e baixar os arquivos de retorno que trazia informações de milhões de reais pagos de nossos clientes através da conta de energia, tais quais, no final de cada mês eu precisava realizar o fechamento e não era tolerado nenhuma diferença, o quanto recebi é o quanto deveria baixar no sistema. Porém, nosso fornecedor costumava postar com atraso de um ou mais dias, algo que já estava acordado por eles por um motivo técnico. Enfim, como tinha inúmeras atividades para serem executadas durante o dia e não tinham horário certo para postarem esses retornos no site deles eu precisava constantemente acessá-lo, algo que as vezes esquecia porque estava realizando outra atividade urgente. Além disso, não trabalhava os finais de semana, o que atrasava ainda mais os retornos, pois, não tinha quem o fizesse.

A solução:

  • Automatizar o processo:
  1. Acessar o site;
  2. Realizar o login (usuário e senha);
  3. Procurar pelos arquivos;
  4. Verificar se o arquivo já foi baixado ou não e só baixar o que estiver pendente;
  5. Descompactar o arquivo .RAR;
  6. Acessar o FTP;
  7. Manipular o arquivo salvando uma cópia no nosso servidor via FTP;
  8. Realizar uma cópia do arquivo em demais servidores de backup;
  9. Enviar um e-mail com o log, informando que o arquivo X foi copiado com sucesso e enviado para o FTP Y.

Tirei uma semana para avaliar o impacto e os riscos dessa automatização e cheguei a conclusão de que usar a biblioteca Selenium atrelado a linguagem do Python ofereceria menor custo de manutenção e implementação, pois, estamos falando de uma atividade realizada por apenas uma pessoa.

Portanto, encontrei uma forma de automatizar o processo e em todas as nossas dailys eram entregues os avanços.

Convido você acessar o meu repositório no GitHub, lá possui informações técnicas, além disso você pode também assistir um pequeno vídeo mostrando como essa automatização se comporta em produção, lembrando que devido a proteção de dados muitas informações foram ocultadas, permitindo apenas o necessário para o entendimento do processo.

https://github.com/marquescharlon/Automatizacao-Selenium-Python

https://youtu.be/DkMk85ZxW-k

Por favor, se gostou desse conteúdo me segue lá no GitHub e no YouTube, tenho planos de compartilhar mais das soluções do dia-a-dia.

Além disso, compartilho meu Instagram, será um prazer fazermos esse network.

https://www.instagram.com/marquescharlon/

Share
Comments (1)
Daniel Princival
Daniel Princival - 17/08/2023 23:38

Selenium é um modulo bastante poderoso, utilizei ele antigamente para automatizar o preenchimento de formulários de RH que costumavam a serem extensos e repetitivos.