Como resolver CAPTCHA com o TinyFish AgentQL – Guia passo a passo usando o CapSolver

Emma Foster
Machine Learning Engineer
19-Feb-2026

Quando sua automação web com inteligência artificial atinge um muro de CAPTCHA, todo o pipeline trava. Páginas não carregam, formulários não podem ser enviados e a extração de dados para em andar — tudo porque um desafio foi criado para bloquear robôs. TinyFish AgentQL é um conjunto poderoso de ferramentas para conectar inteligência artificial à web, com consultas em linguagem natural, integrações com Playwright e extração de dados estruturados em escala empresarial. Mas, como qualquer framework de automação de navegador, ele fica travado em CAPTCHAs.
CapSolver muda isso completamente. Carregando a extensão CapSolver no contexto do navegador do AgentQL baseado em Playwright, os CAPTCHAs são resolvidos automaticamente e invisivelmente no fundo. Nenhuma resolução manual. Nenhuma orquestração complexa de API do seu lado. Seus scripts de automação continuam a funcionar como se o CAPTCHA nunca tivesse existido.
O melhor disso? Suas consultas e scripts do AgentQL não precisam de uma única linha de código relacionado a CAPTCHA. A extensão lida com detecção, resolução e injeção de token por conta própria enquanto seu agente se concentra no que faz melhor — extrair dados e automatizar fluxos de trabalho.
O que é TinyFish AgentQL?
TinyFish AgentQL é um kit de ferramentas de nível empresarial para conectar agentes de inteligência artificial e LLMs a ambientes web em tempo real. Desenvolvido pela TinyFish, ele fornece uma linguagem de consulta com inteligência artificial que permite localizar elementos de página e extrair dados estruturados usando linguagem natural — sem a necessidade de seletores CSS frágeis ou XPaths.
Principais Funcionalidades
- Linguagem de Consulta com Inteligência Artificial: Localize elementos de forma intuitiva com base no conteúdo da página. Consultas se reconstroem conforme as mudanças na interface.
- Integração com Playwright: SDKs Python e JavaScript se integram sem problemas com o Playwright para automação avançada de navegadores.
- Extração de Dados Estruturados: Defina formatos de saída e obtenha dados limpos e estruturados de qualquer página — pública ou privada, estática ou dinâmica.
- API REST: Execute consultas sem SDKs por meio de um ponto de extremidade REST.
- Depurador de Navegador: Uma extensão do Chrome para testar e aprimorar consultas em tempo real.
- Resiliência entre Sites: Funciona entre sites semelhantes sem modificações, adaptando-se dinamicamente às mudanças nas páginas.
- Escala Empresarial: Construído para cargas de trabalho de alto throughput, executando centenas de tarefas em paralelo.
O AgentQL opera em qualquer página — incluindo conteúdo autenticado e páginas geradas dinamicamente — tornando-o ideal para automação web em larga escala, coleta de dados e fluxos de trabalho de agentes de inteligência artificial.
O que é CapSolver?
CapSolver é um serviço líder de resolução de CAPTCHA com inteligência artificial que resolve automaticamente desafios diversos de CAPTCHA. Com tempos de resposta rápidos e ampla compatibilidade, o CapSolver se integra sem problemas em fluxos de trabalho automatizados.
Tipos de CAPTCHA Suportados
- reCAPTCHA v2 (caixa de seleção e invisível)
- reCAPTCHA v3 & v3 Enterprise
- Cloudflare Turnstile
- Cloudflare 5-second Challenge
- AWS WAF CAPTCHA
- Mais
Por que essa Integração é Diferente
A maioria das integrações de resolução de CAPTCHA exige que você escreva código repetitivo: criar tarefas, verificar resultados, injetar tokens em campos ocultos. Essa é a abordagem padrão com scripts Playwright ou Puppeteer.
AgentQL + CapSolver adota uma abordagem fundamentalmente diferente:
| Tradicional (Baseado em Código) | AgentQL + Extensão CapSolver |
|---|---|
| Escreva uma classe de serviço CapSolver | Carregue a extensão no contexto do Playwright |
Chame createTask() / getTaskResult() |
A extensão lida com tudo automaticamente |
Injeção de tokens via page.evaluate() |
A injeção de token é invisível |
| Trate erros, repetições, timeout no código | A extensão gerencia repetições internamente |
| Código diferente para cada tipo de CAPTCHA | Funciona para todos os tipos automaticamente |
A principal descoberta: A extensão CapSolver roda dentro do contexto do navegador do Playwright do AgentQL. Quando o AgentQL navega para uma página com CAPTCHA, a extensão detecta-o, o resolve no fundo e injeta o token — tudo antes que seu script interaja com o formulário. Seus scripts de automação permanecem limpos, focados e livres de CAPTCHA.
Pré-Requisitos
Antes de configurar a integração, certifique-se de ter:
- TinyFish AgentQL instalado (SDK Python ou JavaScript)
- Conta CapSolver com chave de API (inscreva-se aqui)
- Node.js 16+ e Python 3.8+ (dependendo da escolha do SDK)
- Playwright instalado com Chromium
Importante: Extensões do Chrome só funcionam com Chromium com um contexto persistente no Playwright. Isso é um requisito do Playwright, não uma limitação do AgentQL.
Configuração Passo a Passo
Passo 1: Instale o AgentQL
SDK Python:
bash
pip install agentql
playwright install chromium
SDK JavaScript:
bash
npm install agentql
npx playwright install chromium
Passo 2: Baixe a Extensão do Chrome do CapSolver
Baixe a extensão do CapSolver do Chrome e extraia-a para um diretório dedicado:
- Acesse a versão 1.17.0 da extensão do Chrome do CapSolver
- Baixe
CapSolver.Browser.Extension-chrome-v1.17.0.zip - Extraia o zip:
bash
mkdir -p ~/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/capsolver-extension/
- Verifique se a extração funcionou:
bash
ls ~/capsolver-extension/manifest.json
Você deve ver manifest.json — isso confirma que a extensão está no lugar certo.
Passo 3: Configure sua Chave de API do CapSolver
Abra o arquivo de configuração da extensão em ~/capsolver-extension/assets/config.js e substitua o valor apiKey pelo seu:
javascript
export const defaultConfig = {
apiKey: 'CAP-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // ← seu chave aqui
useCapsolver: true,
// ... resto da configuração
};
Você pode obter sua chave de API em seu painel do CapSolver.
Passo 4: Inicie o AgentQL com a Extensão do CapSolver
O passo crítico é iniciar o Chromium do Playwright com um contexto persistente que carregue a extensão do CapSolver.
Exemplo em Python:
python
import agentql
from playwright.sync_api import sync_playwright
import time
import os
# Caminho para a extensão do CapSolver
CAPSOLVER_EXTENSION_PATH = os.path.expanduser("~/capsolver-extension")
def main():
with sync_playwright() as p:
# Inicie o Chromium com contexto persistente e extensão do CapSolver
context = p.chromium.launch_persistent_context(
user_data_dir="./browser-data",
headless=False, # Extensões exigem modo não oculto
args=[
f"--disable-extensions-except={CAPSOLVER_EXTENSION_PATH}",
f"--load-extension={CAPSOLVER_EXTENSION_PATH}",
],
)
# Envolver a página com o AgentQL para consultas com inteligência artificial
page = agentql.wrap(context.pages[0])
# Navegue para sua página alvo
page.goto("https://example.com/protected-page")
# Aguarde o CapSolver detectar e resolver qualquer CAPTCHA
time.sleep(30)
# Encontre e clique no botão de envio usando consultas em linguagem natural do AgentQL
response = page.query_elements("""
{
submit_button
}
""")
# Clique no botão de envio — o CAPTCHA já foi resolvido!
response.submit_button.click()
# Extraia dados após o envio
result = page.query_data("""
{
confirmation_message
}
""")
print(f"Resultado: {result['confirmation_message']}")
context.close()
if __name__ == "__main__":
main()
Exemplo em JavaScript:
javascript
const { chromium } = require('playwright');
const agentql = require('agentql');
const path = require('path');
const os = require('os');
const CAPSOLVER_EXTENSION_PATH = path.join(os.homedir(), 'capsolver-extension');
(async () => {
// Inicie o Chromium com contexto persistente e extensão do CapSolver
const context = await chromium.launchPersistentContext('./browser-data', {
headless: false, // Extensões exigem modo não oculto
args: [
`--disable-extensions-except=${CAPSOLVER_EXTENSION_PATH}`,
`--load-extension=${CAPSOLVER_EXTENSION_PATH}`,
],
});
// Obtenha a primeira página e a envolva com o AgentQL
const page = agentql.wrap(context.pages()[0]);
// Navegue para a página alvo
await page.goto('https://example.com/protected-page');
// Aguarde o CapSolver lidar com qualquer CAPTCHA
await page.waitForTimeout(30000);
// Use consultas do AgentQL para interagir — o CAPTCHA já foi resolvido
const response = await page.queryElements(`{
submit_button
}`);
await response.submit_button.click();
// Extraia os dados de resultado
const result = await page.queryData(`{
confirmation_message
}`);
console.log('Resultado:', result.confirmation_message);
await context.close();
})();
Passo 5: Verifique se a Extensão foi Carregada
Após iniciar o navegador, você pode verificar se a extensão do CapSolver está ativa navegando até chrome://extensions na janela do navegador. Você deve ver a extensão do CapSolver listada e ativada.
Alternativamente, verifique o console do navegador para mensagens de log do CapSolver indicando que o serviço worker está em execução.
Como Usar
Após a configuração, usar o CapSolver com o AgentQL é simples.
A Regra Dourada
Não escreva código específico para CAPTCHA. Basta adicionar um tempo de espera antes de interagir com formulários protegidos por CAPTCHA e deixe a extensão fazer seu trabalho.
Exemplo 1: Submissão de Formulário com reCAPTCHA
python
page.goto("https://example.com/contact")
# Preencha o formulário usando consultas do AgentQL
response = page.query_elements("""
{
contact_form {
name_field
email_field
message_field
submit_button
}
}
""")
response.contact_form.name_field.fill("John Doe")
response.contact_form.email_field.fill("john@example.com")
response.contact_form.message_field.fill("Hello, I have a question about your services.")
# Aguarde o CapSolver resolver o CAPTCHA
time.sleep(30)
# Envie — o token do CAPTCHA já foi injetado
response.contact_form.submit_button.click()
Exemplo 2: Página de Login com Cloudflare Turnstile
python
page.goto("https://example.com/login")
# Aguarde o CapSolver resolver o desafio Turnstile
time.sleep(25)
# Encontre elementos do formulário de login com o AgentQL
response = page.query_elements("""
{
login_form {
email_input
password_input
login_button
}
}
""")
# Preencha o formulário — Turnstile já foi tratado
response.login_form.email_input.fill("me@example.com")
response.login_form.password_input.fill("mypassword123")
# Clique em login
response.login_form.login_button.click()
Exemplo 3: Extração de Dados de Páginas Protegidas
python
page.goto("https://example.com/data")
# Aguarde qualquer desafio de CAPTCHA ser resolvido
time.sleep(30)
# Extraia dados estruturados com o AgentQL
data = page.query_data("""
{
products[] {
name
price
rating
availability
}
}
""")
for product in data['products']:
print(f"{product['name']}: ${product['price']} ({product['rating']} estrelas)")
Tempos Recomendados de Espera
| Tipo de CAPTCHA | Tempo de Resolução Típico | Tempo Recomendado de Espera |
|---|---|---|
| reCAPTCHA v2 (caixa de seleção) | 5-15 segundos | 30-60 segundos |
| reCAPTCHA v2 (invisível) | 5-15 segundos | 30 segundos |
| reCAPTCHA v3 | 3-10 segundos | 20-30 segundos |
| Cloudflare Turnstile | 3-10 segundos | 20-30 segundos |
Dica: Quando em dúvida, use 30 segundos. É melhor esperar um pouco mais do que enviar cedo demais. O tempo extra não afeta o resultado.
Como Funciona por Trás das Cenas
Aqui está o que acontece quando o AgentQL é executado com a extensão CapSolver carregada:
Seu Script do AgentQL
───────────────────────────────────────────────────
page.goto("https://...") ──► O Chromium carrega a página
│
▼
┌─────────────────────────────┐
│ Página com widget de CAPTCHA │
│ │
│ Extensão CapSolver: │
│ 1. Script de conteúdo detecta │
│ CAPTCHA na página │
│ 2. Trabalhador de serviço chama │
│ API do CapSolver │
│ 3. Token recebido │
│ 4. Token injetado em campo oculto │
└─────────────────────────────┘
│
▼
time.sleep(30) A extensão resolve o CAPTCHA...
│
▼
page.query_elements(...) O AgentQL encontra elementos do formulário
submit_button.click() O formulário é enviado COM token válido
│
▼
"Verificação bem-sucedida!"
Como a Extensão é Carregada
Quando o Playwright inicia o Chromium com a flag --load-extension:
- O Chromium inicia com a extensão CapSolver carregada
- A extensão é ativada — seu trabalhador de serviço começa e scripts de conteúdo são injetados em cada página
- Em páginas com CAPTCHAs — o script de conteúdo detecta o widget, chama a API do CapSolver e injeta o token de solução na página
- O AgentQL opera normalmente — consultas, cliques e extração de dados funcionam como de costume, com CAPTCHAs já resolvidos
Referência de Configuração Completa
Aqui está uma configuração Python completa com todas as opções de configuração para a integração AgentQL + CapSolver:
python
import agentql
from playwright.sync_api import sync_playwright
import os
# Configuração
CAPSOLVER_EXTENSION_PATH = os.path.expanduser("~/capsolver-extension")
USER_DATA_DIR = "./browser-data"
with sync_playwright() as p:
context = p.chromium.launch_persistent_context(
user_data_dir=USER_DATA_DIR,
headless=False,
args=[
f"--disable-extensions-except={CAPSOLVER_EXTENSION_PATH}",
f"--load-extension={CAPSOLVER_EXTENSION_PATH}",
],
)
page = agentql.wrap(context.pages[0])
# ... seu código de automação aqui
context.close()
Opções de Configuração
| Opção | Descrição |
|---|---|
user_data_dir |
Diretório para armazenar dados do perfil do navegador (cookies, sessões). Necessário para contexto persistente. |
headless |
Deve ser False — extensões do Chrome não funcionam no modo headless. |
--disable-extensions-except |
Restringe quais extensões podem carregar (previne conflitos). |
--load-extension |
Caminho para o diretório da extensão CapSolver não compactada. |
CAPSOLVER_EXTENSION_PATH |
Caminho completo para a extensão CapSolver extraída, contendo manifest.json. |
A chave da API do CapSolver é configurada diretamente no arquivo assets/config.js da extensão (veja a Etapa 3 acima).
Solução de Problemas
Extensão Não Carregando
Sintoma: CAPTCHAs não são resolvidos automaticamente.
Causa: Você pode estar usando um contexto de navegador regular em vez de um contexto persistente, ou executando no modo headless.
Solução: Extensões no Playwright requerem um contexto persistente e modo normal:
python
# ✅ Correto — contexto persistente, modo normal
context = p.chromium.launch_persistent_context(
user_data_dir="./browser-data",
headless=False,
args=[...argumentos da extensão...]
)
# ❌ Errado — contexto regular (as extensões não carregarão)
browser = p.chromium.launch()
context = browser.new_context()
CAPTCHA Não Resolvido (Formulário Falha)
Possíveis causas:
- Tempo de espera insuficiente — Aumente para 60 segundos
- Chave da API inválida — Verifique seu painel do CapSolver
- Saldo insuficiente — Recarregue sua conta do CapSolver
- Extensão não carregada — Veja "Extensão Não Carregando" acima
Modo Headless Não Suportado
Sintoma: O script roda, mas a extensão não aparece.
Causa: Extensões do Chrome não funcionam no modo headless.
Solução: Use o modo normal com uma tela virtual em servidores:
bash
# Instale o Xvfb
sudo apt-get install xvfb
# Inicie uma tela virtual
Xvfb :99 -screen 0 1280x720x24 &
# Defina o DISPLAY
export DISPLAY=:99
Compatibilidade com o Google Chrome 137+
Sintoma: A bandeira da extensão é ignorada silenciosamente.
Causa: O Google Chrome 137+ removeu o suporte para --load-extension em builds oficiais.
Solução: Use o Chromium do Playwright (recomendado) ou o Chrome for Testing:
bash
# Instale o Chromium do Playwright (recomendado)
npx playwright install chromium
# Ou baixe o Chrome for Testing
# Visite: https://googlechromelabs.github.io/chrome-for-testing/
Boas Práticas
-
Sempre use tempos de espera generosos. Mais tempo de espera é sempre mais seguro. O CAPTCHA geralmente é resolvido em 5-20 segundos, mas a latência da rede, desafios complexos ou tentativas podem aumentar o tempo. 30-60 segundos é o ponto ideal.
-
Mantenha seus scripts de automação limpos. Não adicione lógica específica para CAPTCHA nas consultas do AgentQL. A extensão cuida de tudo — seu código deve focar apenas na extração de dados e interação.
-
Monitore seu saldo do CapSolver. Cada resolução de CAPTCHA custa créditos. Verifique seu saldo em capsolver.com/dashboard regularmente para evitar interrupções.
-
Use consistentemente o contexto persistente. Sempre inicie com
launch_persistent_context()quando precisar de extensões. Isso também preserva cookies e dados de sessão entre as execuções, reduzindo a frequência de CAPTCHA. -
Use o Xvfb em servidores headless. Extensões do Chrome requerem um contexto de tela. Configure o Xvfb em ambientes de servidor onde não haja tela física disponível.
Conclusão
A integração do TinyFish AgentQL + CapSolver traz a resolução de CAPTCHA invisível a uma das ferramentas de automação web mais poderosas disponíveis. Em vez de escrever código complexo para lidar com CAPTCHA, você simplesmente:
- Baixe a extensão CapSolver e configure sua chave da API
- Inicie o navegador do AgentQL com o Playwright carregando a extensão via contexto persistente
- Escreva seus scripts de automação como de costume — adicione um tempo de espera antes de enviar formulários
A extensão CapSolver cuida do restante — detectando CAPTCHAs, resolvendo-os via API do CapSolver e injetando tokens na página. Seus scripts do AgentQL nunca precisam saber sobre CAPTCHAs de forma alguma.
Essa é a aparência da resolução de CAPTCHA quando você combina automação web com inteligência artificial com resolução de CAPTCHA com inteligência artificial: invisível, automática e sem código.
Pronto para começar? Registre-se no CapSolver e use o código de bônus AGENTQL para obter 6% a mais em seu primeiro recarregamento!

Perguntas Frequentes
Eu preciso escrever código específico para CAPTCHA nos meus scripts do AgentQL?
Não. A extensão CapSolver funciona totalmente no fundo dentro do contexto do navegador do Playwright. Basta adicionar um time.sleep() ou waitForTimeout() antes de enviar formulários, e a extensão cuida da detecção, resolução e injeção de tokens automaticamente.
Por que eu preciso de um contexto persistente?
O Playwright só suporta extensões do Chrome quando usando launch_persistent_context(). Isso é um requisito da arquitetura do Playwright. Contextos de navegador regulares criados via browser.new_context() não podem carregar extensões.
Posso executar isso no modo headless?
Não. Extensões do Chrome requerem um navegador com interface gráfica. Para ambientes de servidor sem tela, use o Xvfb (X Virtual Framebuffer) para criar uma tela virtual.
Quais tipos de CAPTCHA o CapSolver suporta?
O CapSolver suporta reCAPTCHA v2 (checkbox e invisível), reCAPTCHA v3, Cloudflare Turnstile, AWS WAF CAPTCHA e mais. A extensão detecta automaticamente o tipo de CAPTCHA e o resolve conforme necessário.
Quanto custa o CapSolver?
O CapSolver oferece preços competitivos com base no tipo de CAPTCHA e volume. Visite capsolver.com para ver os preços atuais.
O TinyFish AgentQL é gratuito?
O AgentQL oferece planos gratuitos e pagos. O SDK e a linguagem de consulta estão disponíveis para desenvolvimento e testes. Visite tinyfish.ai para detalhes de preços.
Quanto tempo devo esperar para o CAPTCHA ser resolvido?
Para a maioria dos CAPTCHAs, 30-60 segundos é suficiente. O tempo real de resolução geralmente é de 5-20 segundos, mas adicionar um buffer extra garante confiabilidade. Quando em dúvida, use 30 segundos.
Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.
Mais

Escala da Coleta de Dados para Treinamento de Grandes Modelos de Linguagem: Resolvendo CAPTCHAs em Escala
Aprenda como escalar a coleta de dados para o treinamento de LLM resolvendo CAPTCHAs em larga escala. Descubra estratégias automatizadas para construir conjuntos de dados de alta qualidade para modelos de IA.

Adélia Cruz
27-Mar-2026

Como resolver qualquer CAPTCHA no HyperBrowser usando o CapSolver (Guia Completo de Configuração)
Resolva qualquer CAPTCHA no HyperBrowser usando o CapSolver. Automatize reCAPTCHA, Turnstile, AWS WAF e de forma mais fácil.

Adélia Cruz
26-Mar-2026

Resolvendo Captchas para Agentes de IA de Monitoramento de Preços: Um Guia Passo a Passo
Aprenda como resolver efetivamente CAPTCHAs para agentes de inteligência artificial de monitoramento de preços com o CapSolver. Este guia passo a passo garante coleta de dados ininterrupta e insights de mercado aprimorados.

Adélia Cruz
24-Mar-2026

Como resolver automaticamente CAPTCHAs com NanoClaw e CapSolver
Guia passo a passo para usar o CapSolver com o NanoClaw para resolver automaticamente reCAPTCHA, Turnstile, AWS WAF e outros CAPTCHAs. Funciona com agentes do Claude AI, sem código e navegadores múltiplos.

Aloísio Vítor
20-Mar-2026

Como resolver CAPTCHA com o Vercel Agent Browser – Guia Passo a Passo usando o CapSolver
Aprenda como integrar o CapSolver com o Agent Browser para lidar com CAPTCHAs e construir fluxos de trabalho de automação de IA confiáveis.

Adélia Cruz
18-Mar-2026

Integração do CapSolver com o Web MCP: Um Guia para Agentes Autônomos
Melhore as capacidades de automação da web do seu agente de IA. Este guia detalha como integrar o CapSolver para resolver captchas de forma eficiente no framework Web MCP, garantindo operações confiáveis e em conformidade.

Emma Foster
17-Mar-2026

