Olá,
Fiz esse código em Python para automatizar uma tarefa no meu serviço:
import os
import time
from tqdm import tqdm
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.edge.service import Service
from openpyxl import load_workbook
diretorio_atual = os.getcwd()
driver_path = os.path.join(diretorio_atual, 'msedgedriver.exe')
service = Service(driver_path)
driver = webdriver.Edge(service=service)
# Acessando a página de autenticação
auth_url = 'https://xxxxxxx..br/'
driver.get(auth_url)
# Acessando a página de login
login_button = driver.find_element("id", "btnExpresso")
login_button.click()
# Autenticando
username_field = driver.find_element("id", "attribute_expresso")
password_field = driver.find_element("id", "password_expresso")
username_field.send_keys("xxxxxxx")
password_field.send_keys("xxxxxxx")
login_button = driver.find_element("id", "btn-expresso-acessar")
login_button.click()
search_url = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
driver.get(search_url)
diretorio_atual = os.getcwd()
arquivo_excel = os.path.join(diretorio_atual, 'protocolos.xlsx')
workbook = load_workbook(arquivo_excel)
planilha = workbook['Planilha1']
total_protocolos = planilha.max_row - 1
progress_bar = tqdm(total=total_protocolos, desc="Baixando", unit="protocolos")
for linha_excel in planilha.iter_rows(min_row=2, min_col=1, max_col=1, values_only=True):
protocolos = linha_excel[0]
# Pesquisa
search_field = driver.find_element("id", "numeroProtocolo")
search_field.clear()
search_field.send_keys(protocolos)
search_field.send_keys(Keys.RETURN)
driver.implicitly_wait(3)
# Download
link_element = driver.find_element("xpath", "//a[contains(@href, 'downloadVolumeParticionado')]")
driver.execute_script(link_element.get_attribute("href"))
time.sleep(2)
driver.get("https://www.")
progress_bar.update(1)
progress_bar.close()
print(f"Total de {total_protocolos} baixados!!")
time.sleep(20)
driver.quit()
Criei um executável com pyinstaller e meu arquivo .exe ficou com mais de 70MB. Ele também ficou lento para executar, clico e demora mais de um minuto para abrir. Depois que abre demorara mais um tempo para rodar, depois que executa vai normal.
O que pode ser? Alguém tem uma dica para criar executáveis leves e rápidos em python?