- Introdução
- Pré-requisitos
- Requirements.txt
- Arquivo .crx
- Configurações de tela
- Sites acessados
- Funcionamento
- Dificuldades/Desafios
Este projeto foi baseado em uma solicitação de um técnico da empresa Microblau, residente no Hospital 9 de Julho.
Aparentemente, o técnico demorava cerca de 21 minutos para acessar e logar nas páginas que deveriam ser monitoradas. Por isso, a partir da minha ideia de agilizar o meu processo de configuração na central BMS da Microblau, ele viu a oportunidade de solicitar a implementação do mesmo no Hospital 9 de Julho.
Com essa implementação, foi possível obter um ganho de 80,9% de produtividade nesse processo, ou seja, onde era gasto um tempo de 21 minutos, passou a ser 4 minutos. Sem contar com a possibilidade de realizar outras tarefas em meio à execução do programa.
Após realizar o download dos arquivos desse projeto, será necessário editar o código, aplicando os dados de acesso (login e senha), nos campos destacados com comentários no código.
Após editar os campos de acesso, o arquivo já poderá ser executado normalmente. No entanto, dessa forma o computador deverá possuir o Python e suas bibliotecas instaladas.
Caso opte por essa primeira opção, após instalar o Python e adicioná-lo ao seu Path, no prompt de comando, acesse a pasta do arquivo e execute o seguinte comando:
Comando para acessar a pasta: cd <local do arquivo>
pip install -r requirements.txt
Isso fará com que todas as bibliotecas aplicadas nesse projeto, sejam instaladas com apenas um único comando.
Agora, no meu caso, não havia possibilidade de instalar o Python no computador do Hospital 9 de Julho, por isso, procurei uma forma de criar um arquivo executável para que ele pudesse operar de forma standalone.
A solução encontrada, foi utilizar o framework pyinstaller
, que é uma ferramenta responsável por transformar os arquivos python em executáveis, a partir do comando a seguir:
py -m pyinstaller <nome do arquivo.py> --onefile
Com isso, gerei um arquivo capaz de rodar em qualquer computador, mesmo não contendo nenhuma versão do Python instalada.
Recomenda-se que as telas possuam o tamanho padrão de 1920x1080, pois assim é possível garantir que as etapas que são executadas pela biblioteca pyautogui
, sejam mais garantidas. (Ex: Habilitação da extensão, posicionamento das telas)
Para que a execução das telas seja bem sucedida, o arquivo .crx
, deve estar contido dentro da mesma página do programa .exe
criado pelo pyinstaller, pois esse arquivo será responsável por abrir o chromedriver com a extensão Revolver Tabs já habilitado.
A programação por um todo, foi bem tranquila, visto que os maiores aprendizados foram adquiridos no primeiro projeto da central BMS da Microblau.
No entanto, é possível citar duas dificuldades encontradas.
A primeira delas, foi no posicionamento das telas. Como nunca havia visto como eram realizados a transição de uma tela à outra, inicialmente houveram diversos retrabalhos, até que foi decidido que por motivos de produtividade, teríamos um maior ganho se eu realizasse essas configurações pessoalmente.
O segundo problema encontrado foi na programação do iframe, no site Powerhub, onde o mesmo não estava sendo reconhecido, fazendo com que eu mudasse o xpath procurado, por um outro mais detalhado.
Os dois problemas foram corrigidos e o programa encontra-se finalizado e rodando no Hospital 9 de Julho.