CAPSOLVER
Blog
Como resolver CAPTCHA com o TinyFish AgentQL – Guia Passo a Passo Usando o CapSolver

Como resolver CAPTCHA com o TinyFish AgentQL – Guia Passo a Passo Usando o CapSolver

Logo of CapSolver

Emma Foster

Machine Learning Engineer

05-Aug-2026

Quando sua automação web alimentada por IA bate em um muro de CAPTCHA, toda a pipeline para. As páginas não carregam, os formulários não podem ser enviados e a extração de dados para. Tudo isso porque um desafio foi criado para bloquear robôs. O TinyFish AgentQL é um conjunto poderoso de ferramentas para conectar a IA à 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.

O 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 em segundo plano. Nenhuma resolução manual. Nenhuma orquestração complexa de API do seu lado. Seus scripts de automação continuam a executar como se o CAPTCHA nunca tivesse existido.

A melhor parte? Suas consultas e scripts do AgentQL não precisam de uma linha de código relacionado ao CAPTCHA. A extensão cuida da detecção, resolução e injeção de tokens 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 é uma ferramenta empresarial para conectar agentes de IA e LLMs a ambientes web em tempo real. Desenvolvido pela TinyFish, ele fornece uma linguagem de consulta potencializada por IA 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 Potencializada por IA: Encontre elementos de forma intuitiva com base no conteúdo da página. As consultas se recuperam automaticamente conforme as mudanças na interface ocorrem.
  • Integração com Playwright: Os SDKs Python e JavaScript se integram perfeitamente 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 funciona em qualquer página — incluindo conteúdo autenticado e páginas geradas dinamicamente — tornando-o ideal para automação em larga escala, coleta de dados e fluxos de trabalho de agentes de IA.

O que é CapSolver?

CapSolver é um serviço líder de resolução de CAPTCHA alimentado por IA que resolve automaticamente diversos desafios de CAPTCHA. Com tempos de resposta rápidos e compatibilidade ampla, o CapSolver se integra perfeitamente aos fluxos de automação.

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-padrão: crie tarefas, consulte resultados, injete tokens em campos ocultos. Essa é a abordagem padrão com scripts do 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 do CapSolver Carregue a extensão no contexto do Playwright
Chame createTask() / getTaskResult() A extensão lida com tudo automaticamente
Injete tokens via page.evaluate() A injeção de tokens é invisível
Trate erros, repetições, timeouts 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 no contexto do navegador do Playwright do AgentQL. Quando o AgentQL navega até uma página com um CAPTCHA, a extensão o detecta, o resolve em segundo plano 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.

Requisitos Prévios

Antes de configurar a integração, certifique-se de ter:

  • TinyFish AgentQL instalado (SDK Python ou JavaScript)
  • Conta no CapSolver com chave de API (inscreva-se aqui)
  • Node.js 16+ e Python 3.8+ (dependendo da escolha do seu SDK)
  • Playwright instalado com Chromium

Importante: Extensões do Chrome só funcionam com o Chromium em um contexto persistente no Playwright. Isso é um requisito do Playwright, não uma limitação do AgentQL.

Configuração Passo a Passo

Passo 1: Instalar o AgentQL

SDK Python:

bash Copy
pip install agentql
playwright install chromium

SDK JavaScript:

bash Copy
npm install agentql
npx playwright install chromium

Passo 2: Baixar a Extensão do CapSolver do Chrome

Baixe a extensão do CapSolver do Chrome e extraia-a para um diretório dedicado:

  1. Vá para a versão 1.17.0 da extensão do CapSolver
  2. Baixe CapSolver.Browser.Extension-chrome-v1.17.0.zip
  3. Extraia o zip:
bash Copy
mkdir -p ~/capsolver-extension
unzip CapSolver.Browser.Extension-chrome-v*.zip -d ~/capsolver-extension/
  1. Verifique se a extração funcionou:
bash Copy
ls ~/capsolver-extension/manifest.json

Você deve ver manifest.json — isso confirma que a extensão está no lugar certo.

Passo 3: Configurar 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 de apiKey pelo seu:

javascript Copy
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: Iniciar 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 Copy
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 a extensão do CapSolver
        context = p.chromium.launch_persistent_context(
            user_data_dir="./browser-data",
            headless=False,  # Extensões exigem modo não cabeça
            args=[
                f"--disable-extensions-except={CAPSOLVER_EXTENSION_PATH}",
                f"--load-extension={CAPSOLVER_EXTENSION_PATH}",
            ],
        )

        # Envolver a página com o AgentQL para consultas potencializadas por IA
        page = agentql.wrap(context.pages[0])

        # Navegue até sua página de destino
        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 Copy
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 a extensão do CapSolver
  const context = await chromium.launchPersistentContext('./browser-data', {
    headless: false, // Extensões exigem modo não cabeça
    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 até a página de destino
  await page.goto('https://example.com/protected-page');

  // Aguarde o CapSolver resolver 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 do resultado
  const result = await page.queryData(`{
    confirmation_message
  }`);

  console.log('Resultado:', result.confirmation_message);

  await context.close();
})();

Passo 5: Verificar 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 concluir a configuração, usar o CapSolver com o AgentQL é simples.

A Regra Dourada

Não escreva código específico de 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 Copy
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)

# Enviar — o token do CAPTCHA já foi injetado
response.contact_form.submit_button.click()

Exemplo 2: Página de Login com Cloudflare Turnstile

python Copy
page.goto("https://example.com/login")

# Aguarde o CapSolver resolver o desafio do Turnstile
time.sleep(25)

# Encontre os 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 — o 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 Copy
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 nas Cortes

Aqui está o que acontece quando o AgentQL é executado com a extensão CapSolver carregada:

Copy
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. Serviço worker chama       │
                               │     API do CapSolver          │
                               │  3. Token recebido            │
                               │  4. Token injetado em campo   │
                               │     oculto                    │
                               └─────────────────────────────┘
                                           │
                                           ▼
time.sleep(30)                   Extensão resolve o CAPTCHA...
                                           │
                                           ▼
page.query_elements(...)         O AgentQL encontra os 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 o sinalizador --load-extension:

  1. O Chromium inicia com a extensão CapSolver carregada
  2. A extensão é ativada — seu serviço worker começa a funcionar e os scripts de conteúdo são injetados em cada página
  3. 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
  4. O AgentQL opera normalmente — consultas, cliques e extração de dados funcionam como de costume, com os CAPTCHAs já resolvidos

Referência de Configuração Completa

Aqui está uma configuração completa em Python com todas as opções de configuração para a integração AgentQL + CapSolver:

python Copy
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). Obrigató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 descompactada.
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 (consulte a Etapa 3 acima).

Usando o CapSolver com o TinyFish Browser

Tudo o que foi dito anteriormente pressupõe que você está executando o Chromium por conta própria, localmente, com um contexto do Playwright persistente para que a extensão CapSolver possa ser carregada. No entanto, nem toda configuração oferece esse tipo de controle — se sua automação for executada contra o TinyFish Browser, o serviço de sessão de navegador remoto e sob demanda do TinyFish, você não gerencia o processo do Chromium diretamente, portanto não pode carregar uma extensão descompactada da mesma forma.

Nesse cenário, o CapSolver pode ser integrado via sua API, diretamente no seu script: você solicita uma sessão de navegador remoto ao TinyFish Browser, se conecta a ele por meio do CDP com o Playwright, resolve o CAPTCHA com o SDK do CapSolver e injeta o token resultante na página você mesmo. É a abordagem mais "tradicional", baseada em código, descrita anteriormente neste artigo — mas é a ferramenta certa quando uma extensão não pode ser carregada na instância do navegador que você está controlando.

Antes de começar, instale o SDK do CapSolver:

bash Copy
pip install capsolver

O código a seguir mostra como usar o CapSolver para resolver um reCAPTCHA em uma sessão do TinyFish Browser:

python Copy
import time
import requests
import capsolver
from playwright.sync_api import sync_playwright


TINYFISH_API_KEY = "SUA CHAVE DE API DO TINYFISH"
capsolver.api_key = "SUA CHAVE DE API DO CAPSOLVER"


website_url = "https://www.google.com/recaptcha/api2/demo"
website_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
captcha_type = "ReCaptchaV2TaskProxyLess"


def create_tinyfish_browser(url):
    resp = requests.post(
        "https://api.browser.tinyfish.ai",
        headers={
            "X-API-Key": TINYFISH_API_KEY,
            "Content-Type": "application/json",
        },
        json={
            "url": url,
            "timeout_seconds": 300,
        },
        timeout=90,
    )
    resp.raise_for_status()
    return resp.json()


def close_tinyfish_browser(session_id):
    try:
        requests.delete(
            f"https://api.browser.tinyfish.ai/{session_id}",
            headers={"X-API-Key": TINYFISH_API_KEY},
            timeout=30,
        )
    except Exception as exc:
        print("   Falha ao fechar a sessão do navegador TinyFish:", repr(exc))


def solve_recaptcha_v2():
    print("3. Resolvendo reCAPTCHA com o CapSolver")
    solution = capsolver.solve({
        "type": captcha_type,
        "websiteURL": website_url,
        "websiteKey": website_key,
    })

    token = solution.get("gRecaptchaResponse")
    if not token:
        raise RuntimeError(f"O CapSolver não retornou um token de reCAPTCHA: {solution}")

    print("   Tarefa do CapSolver resolvida:", token)
    return token


def inject_recaptcha_token(page, token):
    page.evaluate(
        """
        (token) => {
            const textarea = document.getElementById('g-recaptcha-response');
            if (textarea) {
                textarea.value = token;
            }
        }
        """,
        token,
    )
    print("   Token do CapSolver injetado")
    page.click('input[type="submit"]')
    print("   Botão de envio clicado")


def main():
    session_id = None
    try:
        print("1. Criando sessão do navegador TinyFish")
        session = create_tinyfish_browser(website_url)

        session_id = session["session_id"]
        cdp_url = session["cdp_url"]
        print("   ID da sessão TinyFish:", session_id)
        print("   URL do CDP do TinyFish:", cdp_url)

        with sync_playwright() as p:
            print("2. Conectando-se ao navegador TinyFish via CDP")
            browser = p.chromium.connect_over_cdp(cdp_url)
            context = browser.contexts[0]
            page = context.pages[0] if context.pages else context.new_page()
            page.wait_for_load_state("domcontentloaded", timeout=60000)
            print("   URL da página atual:", page.url)

            token = solve_recaptcha_v2()

            print("4. Injetando o token do capsolver")
            inject_recaptcha_token(page, token)

            page.wait_for_load_state("domcontentloaded", timeout=30000)
            time.sleep(3)

            body_text = page.locator("body").inner_text(timeout=10000)
            print("5. Resultado da página:", " ".join(body_text.split()))

            print("6. Fechando as sessões do navegador")
            browser.close()
    finally:
        if session_id:
            close_tinyfish_browser(session_id)


if __name__ == "__main__":
    main()

Qualquer que seja a abordagem que se encaixe na sua configuração — carregar a extensão do CapSolver em um contexto do Playwright local e persistente, ou chamar diretamente a API do CapSolver contra uma sessão do TinyFish Browser remoto — o objetivo é o mesmo: a automação do AgentQL nunca deverá precisar conter lógica própria para lidar com CAPTCHAs.

Solução de Problemas

Extensão Não Carregando

Sintoma: CAPTCHAs não estão sendo resolvidos automaticamente.

Causa: Você pode estar usando um contexto de navegador regular em vez de um contexto persistente, ou executando em modo headless.

Solução: Extensões no Playwright requerem um contexto persistente e modo não headless:

python Copy
# ✅ Correto — contexto persistente, modo não headless
context = p.chromium.launch_persistent_context(
    user_data_dir="./browser-data",
    headless=False,
    args=[...extensão...]
)

# ❌ Incorreto — contexto regular (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 de API inválida — Verifique seu painel do CapSolver
  • Saldo insuficiente — Recarregue sua conta do CapSolver
  • Extensão não carregada — Consulte "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 não headless com um display virtual em servidores:

bash Copy
# Instale o Xvfb
sudo apt-get install xvfb

# Inicie um display 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 Copy
# Instale o Chromium do Playwright (recomendado)
npx playwright install chromium

# Ou baixe o Chrome for Testing
# Acesse: https://googlechromelabs.github.io/chrome-for-testing/

Boas Práticas

  1. Sempre use tempos de espera generosos. Mais tempo de espera é sempre mais seguro. O CAPTCHA geralmente se resolve em 5-20 segundos, mas a latência da rede, desafios complexos ou tentativas podem adicionar tempo. 30-60 segundos é o ponto ideal.

  2. Mantenha seus scripts de automação limpos. Não adicione lógica específica para CAPTCHA em suas consultas do AgentQL. A extensão cuida de tudo — seu código deve se concentrar puramente na extração de dados e interação.

  3. 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.

  4. 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, o que pode reduzir a frequência de CAPTCHAs.

  5. Use o Xvfb em servidores headless. Extensões do Chrome exigem um contexto de exibição. Configure o Xvfb para ambientes de servidor onde não haja um display físico disponível.

  6. Escolha a integração adequada ao seu ambiente. Use a abordagem baseada em extensão sempre que você controlar diretamente o processo do Chromium e puder iniciar um contexto persistente. Use a abordagem baseada em API com o SDK do CapSolver sempre que estiver se conectando a um navegador que você não controla diretamente — como uma sessão do TinyFish Browser remoto via CDP.

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 CAPTCHAs, você simplesmente:

  1. Baixe a extensão do CapSolver e configure sua chave de API
  2. Inicie o navegador do AgentQL com o Playwright carregando a extensão via contexto persistente
  3. Escreva seus scripts de automação como de costume — basta adicionar um tempo de espera antes de enviar formulários

A extensão do 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.

E quando sua automação for executada contra uma sessão remota — como o TinyFish Browser — o SDK e a API do CapSolver permitem obter o mesmo resultado com algumas linhas extras de código: solicite a sessão, conecte-se via CDP, resolva e injete.

Essa é a cara 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 promocional AGENTQL para obter 6% extras em seu primeiro recarregamento!

código promocional

Perguntas Frequentes

Preciso escrever código específico para CAPTCHA nos meus scripts do AgentQL?

Não. A extensão do CapSolver funciona totalmente em segundo plano 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 do token automaticamente.

Por que preciso de um contexto persistente?

O Playwright só suporta extensões do Chrome quando usa launch_persistent_context(). Isso é um requisito arquitetural do Playwright. Contextos de navegador regulares criados via browser.new_context() não podem carregar extensões.

Posso executar isso em modo headless?

Não. Extensões do Chrome exigem um navegador com interface gráfica. Para ambientes de servidor sem tela, use o Xvfb (X Virtual Framebuffer) para criar um display virtual.

E se eu estiver usando uma sessão do TinyFish Browser remoto em vez do meu próprio Chromium?

Como você não controla diretamente o lançamento do navegador, não pode carregar a extensão do CapSolver em uma sessão do TinyFish Browser. Em vez disso, use o SDK do CapSolver para resolver o CAPTCHA e injetar o token resultante você mesmo via page.evaluate() após se conectar via CDP, como mostrado na seção "Usando o CapSolver com o TinyFish Browser" acima.

Quais tipos de CAPTCHA o CapSolver suporta?

O CapSolver suporta reCAPTCHA v2 (caixa 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 apropriado.

Quanto custa o CapSolver?

O CapSolver oferece preços competitivos com base no tipo de CAPTCHA e volume. Acesse 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. Acesse tinyfish.ai para detalhes sobre preços.

Quanto tempo devo esperar para o CAPTCHA ser resolvido?

Para a maioria dos CAPTCHAs, 30-60 segundos são suficientes. O tempo de resolução real é geralmente de 5-20 segundos, mas adicionar um buffer adicional garante confiabilidade. Se 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