Pequeno scaffold para automação do e-CAC — apenas um ponto de partida. Atenção: use apenas em contas que você tem autorização para acessar.
Para usuários finais no Windows 10/11, recomenda-se usar o instalador executável que inclui tudo pré-configurado:
- Baixe ecac-windows-installer.exe da seção Releases
- Execute o arquivo
.exee siga as instruções- Ele instalará automaticamente Node.js, Python, e todas as dependências
- Configurará o diretório de instalação em
C:\Program Files\ECAC-Bot
- Após a instalação:
- Navegue até
C:\Program Files\ECAC-Bot\ecac-bot - Copie
.env.examplepara.env - Preencha
ECAC_USERNAME,ECAC_PASSWORDeAPI_BASE_URL(se usar modo worker) - Execute
npm startou use o worker conforme descrito abaixo
- Navegue até
Passos rápidos:
- Copie
.env.examplepara.enve preenchaECAC_USERNAMEeECAC_PASSWORD. - Instale dependências:
cd ecac-bot
npm install
npm run install-playwright- Rodar (recomendado com headful para tratar MFA manualmente):
# headful (padrão no .env.example)
npm start
# ou em headless
HEADLESS=true npm startNotas importantes:
-
Os seletores de login e de alteração de perfil em
src/bot.jssão exemplos. O e-CAC frequentemente muda a interface — ajuste os seletores conforme necessário. -
Não armazene credenciais em repositórios. Use variáveis de ambiente seguras.
-
Se houver autenticação multifator (MFA), rode em modo não-headless, autentique manualmente no navegador quando solicitado e pressione Enter no terminal para continuar.
-
O bot gera artefatos de depuração na raiz do projeto quando executado:
ecac-login-after-submit.png,ecac-login-after-submit.html,ecac-after-auth.png,ecac-after-profile-click.png,ecac-after-confirm.png. Use estes arquivos para inspecionar elementos e ajustar seletores. -
Para inspecionar a UI e gerar seletores, considere usar o Playwright Codegen:
npx playwright codegen https://cav.receita.fazenda.gov.br/autenticacao/loginIsto abre um navegador interativo e escreve os comandos Playwright conforme você navega — muito útil para extrair seletores reais do e-CAC.
Helper Windows para certificado
Há um helper opcional para Windows que tenta importar um PFX e selecionar o certificado no diálogo de autenticação do Windows usando pywinauto.
- Arquivo:
win_cert_helper.py - Requer Python no Windows e dependência
pywinauto. - Uso recomendado: o
worker(em Windows) inicia automaticamente o helper quando baixa um PFX; o helper aguarda o popup e tenta selecionar o certificado correspondente.
Instalação mínima no Windows:
python -m pip install pywinautoObservações:
- Este helper só funciona no Windows e deve ser executado no mesmo host onde o navegador será aberto.
- Se falhar, o
workertenta importar o PFX viacertutilcomo fallback; em outros sistemas você precisará importar o PFX manualmente.
Import automático (Windows)
- O
workeragora tenta executarwin_import_pfx.ps1para importar o PFX viacertutilno usuário atual. Em seguida iniciawin_cert_helper.pypara aguardar e selecionar o certificado no diálogo. - Requisitos no Windows:
# Powershell script usa certutil (builtin) e o helper usa pywinauto
python -m pip install pywinauto- Se preferir usar um perfil de navegador persistente (útil para evitar diálogos com certificados ou reutilizar sessão), defina
BROWSER_USER_DATA_DIRno.envapontando para uma pasta (ex.:C:\Users\SeuUsuario\AppData\Local\Google\Chrome\User Data\PlaywrightProfile). Obotabrirá o contexto persistente usando esse diretório.
Exemplo .env parcial:
API_BASE_URL=https://sua.api
BOT_TOKEN=token
BROWSER_USER_DATA_DIR=C:\Users\SeuUsuario\AppData\Local\Google\Chrome\User Data\PlaywrightProfile