Construindo um agente confiável para preencher formulários
Um estudo de caso prático: entre em um portal, preencha um formulário com várias páginas e verifique o envio.
Construindo um agente confiável para preencher formulários é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Um Projeto Realista
Um agente para "preencher este formulário de várias páginas". Combinaremos Playwright + planejamento com LLM + repetição + alternativa com visão.
Arquitetura
- O LLM lê os requisitos dos campos a partir de uma especificação JSON
- Playwright abre o formulário
- Para cada campo, encontre o seletor + valor, preencha e valide
- Se for difícil localizar um campo pelo DOM, use a visão como alternativa
- Envie o formulário e verifique o sucesso
Step 1: Define the Task
TASK = {
'url': 'https://example.com/apply',
'login': {'user': 'alice', 'pass': '...'},
'fields': {
'first_name': 'Alice',
'last_name': 'Smith',
'email': 'alice@example.com',
'role': 'Senior Engineer'
}
}Step 2: Login
page.goto(TASK['url'])
if page.locator('input[name="username"]').is_visible():
page.fill('input[name="username"]', TASK['login']['user'])
page.fill('input[name="password"]', TASK['login']['pass'])
page.click('button[type="submit"]')
page.wait_for_load_state('networkidle')Step 3: Field Filler
def fill_field(page, field_name, value):
for selector in [
f'input[name="{field_name}"]',
f'input[aria-label="{field_name}"]',
f'input[placeholder*="{field_name}"]',
f'label:has-text("{field_name}") + input'
]:
if page.locator(selector).count() > 0:
page.fill(selector, value)
return True
return False
# --- demo ---
class _FakeLocator:
def __init__(self, found):
self._found = found
def count(self):
return 1 if self._found else 0
class _FakePage:
"""Only the 3rd selector (placeholder) matches, to show the fallback loop."""
def locator(self, selector):
return _FakeLocator(found='placeholder*=' in selector)
def fill(self, selector, value):
print(f'Filled via selector: {selector} -> {value!r}')
page = _FakePage()
ok = fill_field(page, 'email', 'alice@example.com')
print(f'fill_field succeeded: {ok}')
Step 4: Localizador Assistido por LLM
Se os seletores padrão falharem, peça ao LLM para identificar o campo:
def ask_llm_for_selector(html, field_name):
prompt = f'Find the input element for "{field_name}" in this HTML and return a CSS selector. HTML:\n{html[:5000]}'
return llm.invoke(prompt).content.strip()Step 5: Alternativa com Visão
Se nem mesmo o LLM conseguir encontrar um seletor, faça uma captura de tela e use a visão:
if not filled:
screenshot = page.screenshot()
coordinate = vision_llm_locate(screenshot, field_name)
page.mouse.click(coordinate.x, coordinate.y)
page.keyboard.type(value)Step 6: Valide Cada Etapa
Depois de preencher, leia novamente o valor:
actual = page.input_value(selector)
assert actual == expected_value, f'Expected {expected_value}, got {actual}'Step 7: Submit and Verify
page.click('button[type="submit"]')
page.wait_for_load_state('networkidle')
if page.locator('text=Thank you').count() == 0:
raise SubmissionFailed('Success page not detected')Step 8: Lógica de Repetição
Às vezes, os formulários apresentam falhas. Tente novamente com verificações de idempotência:
@retry(stop=stop_after_attempt(3), wait=wait_fixed(2))
def fill_and_submit(page, task):
...Step 9: Tratamento de CAPTCHA
Se o formulário tiver reCAPTCHA, use um serviço de resolução (2Captcha, Anti-Captcha) — ou falhe de maneira controlada e peça ajuda a uma pessoa.
Step 10: Registro e Reprodução
Salve cada ação + captura de tela. Quando algo falhar, você poderá reproduzir o rastreamento para depurar:
context.tracing.stop(path=f'trace-{task_id}.zip')
# View with: playwright show-trace trace-abc.zipConsiderações sobre Concorrência
Para processar os formulários de muitos usuários em paralelo, crie um contexto de navegador por tarefa. Limite a concorrência para evitar sobrecarregar o site-alvo.
Respeitando o Site-Alvo
- Reduza a velocidade entre as ações (pessoas não digitam a 200 caracteres por segundo)
- Respeite robots.txt e os Termos de Serviço
- Use IPs rotativos somente quando permitido
- Evite abusos — tráfego de agente não é uma onda de raspagem
Estratégia de Robustez
Qual é a estratégia mais confiável para preencher formulários com HTML imprevisível?
Recapitulação
Playwright + seletores assistidos por LLM + alternativa com visão + validação por etapa + repetições + registros de rastreamento. Essa é a receita para um preenchimento confiável de formulários.
Perguntas Frequentes
A aula “Construindo um agente confiável para preencher formulários” é grátis?
Sim — o texto completo de “Construindo um agente confiável para preencher formulários” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Construindo um agente confiável para preencher formulários”?
Um estudo de caso prático: entre em um portal, preencha um formulário com várias páginas e verifique o envio. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Construindo um agente confiável para preencher formulários”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Automação de navegador com Playwright
- Modelos de visão para compreensão de telas
- Padrões de uso do computador (Anthropic Computer-Use)
- Construindo um agente confiável para preencher formulários