ProdutosIntegraçõesRecursosDocumentaçãoPreços
Começar agora

© 2026 CapSolver. All rights reserved.

Contacte-nos

Slack: lola@capsolver.com

Produtos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensão de Navegador
  • Mais tipos de CAPTCHA

Integrações

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Parceiros
  • Ver todas as integrações

Recursos

  • Programa de Referenciação
  • Documentação
  • Referência da API
  • Blog
  • FAQ
  • Glossário
  • Estado

Legal

  • Termos de Serviço
  • Política de Privacidade
  • Política de Reembolso
  • Não vender os meus dados pessoais
Blog/n8n/Como resolver o GeeTest V4 no n8n com o CapSolver: Guia de integração completo
Mar12, 2026

Como resolver o GeeTest V4 no n8n com o CapSolver: Guia de integração completo

Lucas Mitchell

Lucas Mitchell

Automation Engineer

O GeeTest V4 é a mais recente geração do sistema CAPTCHA comportamental da GeeTest, usado por um número crescente de sites para proteger formulários de login, páginas de registro e pontos de extremidade de dados. Ao contrário dos sistemas CAPTCHA mais antigos que dependem de quebra-cabeças de imagem, o GeeTest V4 usa desafios adaptativos e análise comportamental — tornando-o uma das proteções mais sofisticadas que você encontrará em fluxos de trabalho de automação.

E se você pudesse resolver o GeeTest V4 automaticamente dentro do seu fluxo de trabalho n8n — seja você construindo uma API de solução reutilizável, raspando um site protegido por captcha ou automatizando um formulário de login — tudo sem escrever uma única linha de código tradicional?

Neste guia, você aprenderá como combinar n8n (uma ferramenta visual de automação de fluxo de trabalho) com CapSolver (um serviço de resolução de captcha alimentado por IA) para resolver desafios do GeeTest V4 sob demanda — seja como um endpoint de API autônomo ou como uma etapa em qualquer fluxo de trabalho de automação.

O que você construirá:

APIs de Solução — endpoints reutilizáveis que suas outras ferramentas podem chamar:

  • API de solução GeeTest V4

Fluxos de Trabalho de Uso Direto — CapSolver incorporado como uma etapa em uma automação maior:

  • Um raspador de preços e produtos que resolve o GeeTest V4, busca páginas protegidas e alerta sobre mudanças de preço
  • Uma automação de login de conta que resolve o GeeTest V4 antes de enviar credenciais

O que é o GeeTest V4?

O GeeTest V4 é a versão mais recente da plataforma CAPTCHA da GeeTest. Ele substitui o sistema V3 mais antigo por um modelo de integração simplificado e detecção comportamental aprimorada. Do ponto de vista da resolução, o V4 é estruturalmente mais simples que o V3 — ele requer apenas um parâmetro estático (captchaId) em vez do fluxo de desafio dinâmico que o V3 exigia.

Principais Diferenças do GeeTest V3:

Recurso GeeTest V3 GeeTest V4
Parâmetros Principais gt + challenge dinâmico captchaId (estático)
Busca de Desafio Necessário — deve chamar a API GeeTest primeiro Não é necessário — captchaId é estático
Campos de Solução 3 (challenge, validate, seccode) 5 (captcha_id, lot_number, pass_token, gen_time, captcha_output)
Script do Widget gt.js gcaptcha4.js
Tipo de Tarefa GeeTestTask / GeeTestTaskProxyLess Apenas GeeTestTaskProxyLess

Principal Vantagem do V4: O captchaId está incorporado no código-fonte da página e nunca muda — encontre-o uma vez, use-o para sempre. Nenhuma busca dinâmica de desafio significa menos nós em seu fluxo de trabalho.


Pré-requisitos

Antes de começarmos, certifique-se de ter o seguinte:

  1. Uma instância n8n — Seja Auto-hospedada ou n8n Cloud
  2. Uma conta CapSolver — Inscreva-se aqui e obtenha sua chave de API
  3. O nó CapSolver n8n — Já disponível como um nó oficial no n8n (não é necessária instalação)

Importante: Certifique-se de ter saldo suficiente em sua conta CapSolver. As tarefas de resolução do GeeTest V4 consomem créditos com base no uso.


Configurando o CapSolver no n8n

O CapSolver está disponível como uma integração oficial no n8n — nenhuma instalação de nó da comunidade é necessária. Você pode encontrá-lo diretamente no painel de nós ao construir seus fluxos de trabalho.

Como é uma integração oficial, você precisará criar uma credencial no n8n para que o nó CapSolver possa se autenticar com sua conta.

Passo 1: Vá para a Página de Credenciais

Navegue até sua instância n8n e vá para Settings > Credentials. Você verá todas as credenciais que configurou aqui.

Página de credenciais do n8n mostrando a conta CapSolver

Passo 2: Crie a Credencial CapSolver

  1. Clique em Create credential (canto superior direito)
  2. Procure por "CapSolver" e selecione CapSolver API
  3. Insira sua Chave de API — copie-a diretamente do seu Painel CapSolver
  4. Deixe Allowed HTTP Request Domains definido como All (padrão)
  5. Clique em Save

O n8n testará automaticamente a conexão. Você verá um banner verde "Connection tested successfully" confirmando que sua chave de API é válida.

Configuração de credencial do CapSolver com teste de conexão bem-sucedido

Importante: Cada nó CapSolver em seus fluxos de trabalho fará referência a esta credencial. Você só precisa criá-la uma vez — todos os seus fluxos de trabalho de solução compartilharão a mesma credencial.

Agora você está pronto para construir seus fluxos de trabalho de solução GeeTest V4!


Como Identificar Parâmetros do GeeTest V4

Antes de poder resolver um CAPTCHA GeeTest V4, você precisa encontrar seu captchaId — o único parâmetro necessário. Ao contrário do GeeTest V3 (que exigia a busca de um challenge dinâmico), o captchaId do V4 é estático e incorporado diretamente no código-fonte da página.

Método 1: Inspecionar o Código-Fonte da Página

  1. Abra View Source (Ctrl+U) ou use a guia Elements do DevTools
  2. Procure por captcha_id ou captchaId no código-fonte da página
  3. Procure referências a gcaptcha4.js — o script do widget GeeTest V4
  4. O captchaId geralmente é passado como um parâmetro de configuração ao inicializar o widget
html Copy
<!-- Exemplo: Inicialização do GeeTest V4 no código-fonte da página -->
<script>
  initGeetest4({
    captchaId: 'e392e1d7fd421dc63325744d5a2b9c73',
    product: 'bind'
  });
</script>

Método 2: Guia Rede do DevTools

  1. Abra o DevTools (F12) > guia Network
  2. Filtre as solicitações por gcaptcha4 ou geetest
  3. Procure solicitações para gcaptcha4.geetest.com — o parâmetro captcha_id estará na string de consulta

Principal Vantagem do V4: O captchaId é estático — uma vez que você o encontra, você pode usá-lo indefinidamente sem a necessidade de buscar um novo desafio a cada vez. Isso torna os fluxos de trabalho do V4 estruturalmente idênticos aos fluxos de trabalho do Turnstile.


Fluxo de Trabalho: API de Solução GeeTest V4

Este fluxo de trabalho cria um endpoint de API POST que aceita parâmetros do GeeTest V4 e retorna um conjunto de tokens resolvidos.

Como Funciona

O fluxo de trabalho consiste em quatro nós:

  1. Webhook — Recebe solicitações POST de entrada com parâmetros do GeeTest V4
  2. GeeTest V4 — Envia o desafio para o CapSolver e aguarda a solução
  3. Erro do CapSolver? — Um nó IF que se ramifica com base em se a resolução falhou (ou seja, $json.error não está vazio)
  4. Responder ao Webhook — Retorna a solução se for bem-sucedida, ou {"error": "..."} se falhar

Configuração do Nó

1. Nó Webhook

Configuração Valor
Método HTTP POST
Caminho solver-geetest-v4
Responder Response Node

Isso cria um endpoint em: https://sua-instancia-n8n.com/webhook/solver-geetest-v4

2. Nó CapSolver GeeTest V4

Parâmetro Valor Descrição
Operação GeeTest V4 Deve ser definido como GeeTest V4
Tipo GeeTestTaskProxyLess Este é o único tipo de tarefa disponível (sem variantes de proxy)
URL do Site {{ $json.body.websiteURL }} O URL da página com o widget GeeTest V4
ID do Captcha {{ $json.body.captchaId }} O ID estático do captcha GeeTest V4
Subdomínio do Servidor API GeeTest (Opcional) Servidor API GeeTest personalizado se o site o usar

Selecione sua credencial CapSolver neste nó. O parâmetro opcional geetestApiServerSubdomain raramente é necessário — adicione-o apenas se o servidor GeeTest padrão não estiver funcionando para o seu site de destino.

3. Nó Erro do CapSolver? (IF)

Configuração Valor
Condição ={{ $json.error }} não está vazio
Ramificação Verdadeira Roteia para o nó Webhook de Resposta de Erro
Ramificação Falsa Roteia para o nó Webhook de Resposta de Sucesso

4. Nó Responder ao Webhook

Ramificação de Sucesso (Saída falsa de Erro do CapSolver?):

Configuração Valor
Responder Com JSON
Corpo da Resposta ={{ JSON.stringify($json.data) }}

Experimente

Envie uma solicitação POST para o seu endpoint Webhook:

bash Copy
curl -X POST https://sua-instancia-n8n.com/webhook/solver-geetest-v4 \
  -H "Content-Type: application/json" \
  -d '{
    "websiteURL": "https://example.com/login",
    "captchaId": "e392e1d7fd421dc63325744d5a2b9c73"
  }'

Resposta Esperada:

json Copy
{
  "taskId": "abc123...",
  "solution": {
    "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73",
    "lot_number": "7c18c041a6ed4e...",
    "pass_token": "d88ce40c0a5c5a18...",
    "gen_time": "1709123456",
    "captcha_output": "dGVzdF9jYXB0Y2hh..."
  },
  "status": "ready"
}

Importar Este Fluxo de Trabalho

Copie o JSON abaixo e importe-o para o n8n via Menu > Import from JSON:

Clique para expandir o JSON do fluxo de trabalho
json Copy
{
  "name": "GeeTest V4 — Solver API",
  "nodes": [
    {
      "parameters": {
        "content": "## GeeTest V4 — API de Solução\n\n**Para quem é:** Desenvolvedores que precisam resolver desafios do GeeTest V4 através de um endpoint POST simples.\n\n**O que faz:** Expõe um webhook que aceita parâmetros de captcha, resolve o desafio com o CapSolver e retorna tokens ou erros como JSON.\n\n**Como funciona:**\n1. O Webhook recebe um POST com URL de destino, chave do site e parâmetros opcionais\n2. O nó CapSolver resolve o desafio do GeeTest V4\n3. O nó IF verifica erros → retorna tokens de sucesso ou JSON de erro\n\n**Configuração:**\n1. Adicione sua chave de API do CapSolver em **Settings → Credentials → CapSolver API**\n2. Ative o fluxo de trabalho\n3. POST para o URL do webhook com seus parâmetros de captcha",
        "height": 494,
        "width": 460,
        "color": 1
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -712,
        -400
      ],
      "id": "sticky-blog-main-1773678228112-1",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "solver-geetest-v4",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        -192,
        0
      ],
      "id": "a1b2c3d4-0001-0001-0001-a1b2c3d40001",
      "name": "Webhook Trigger",
      "webhookId": "a1b2c3d4-aaaa-bbbb-cccc-a1b2c3d40001",
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "operation": "GeeTest V4",
        "websiteURL": "={{ $json.body.websiteURL }}",
        "captchaId": "={{ $json.body.captchaId }}",
        "geetestApiServerSubdomain": "={{ $json.body.geetestApiServerSubdomain }}",
        "optional": {}
      },
      "type": "n8n-nodes-capsolver.capSolver",
      "typeVersion": 1,
      "position": [
        104,
        0
      ],
      "id": "a1b2c3d4-0001-0001-0001-a1b2c3d40002",
      "name": "Solve GeeTest V4",
      "credentials": {
        "capSolverApi": {
          "id": "YOUR_CREDENTIAL_ID",
          "name": "CapSolver account"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "geetest-if-001",
              "leftValue": "={{ $json.error }}",
              "operator": {
                "type": "string",
                "operation": "isEmpty",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        408,
        0
      ],
      "id": "a1b2c3d4-0001-0001-0001-a1b2c3d40003",
      "name": "CapSolver Error?"
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify($json.data) }}",
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        712,
        -80
      ],
      "id": "a1b2c3d4-0001-0001-0001-a1b2c3d40004",
      "name": "Respond to Webhook (Success)"
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({ error: $json.error }) }}",
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        712,
        128
      ],
      "id": "a1b2c3d4-0001-0001-0001-a1b2c3d40005",
      "name": "Respond to Webhook (Error)"
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Solve GeeTest V4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Solve GeeTest V4": {
      "main": [
        [
          {
            "node": "CapSolver Error?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CapSolver Error?": {
      "main": [
        [
          {
            "node": "Respond to Webhook (Success)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond to Webhook (Error)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  }
}

Fluxo de Trabalho: Raspagem do GeeTest V4 — Detalhes de Preço e Produto — CapSolver + Agendamento + Webhook

Este fluxo de trabalho raspa uma página de produto a cada 6 horas (agendamento) ou sob demanda (webhook), extrai o preço usando um nó HTML e o compara com um valor armazenado anteriormente.

Caminho Agendado:

Copy
A cada 6 Horas -> Resolver GeeTest V4 -> Buscar Página do Produto -> Extrair Dados
  -> Comparar Dados -> Dados Alterados? -> Construir Alerta / Nenhuma Alteração

Comportamento Chave:

  • Os campos de solução do captcha são enviados como campos de formulário (esta é a maneira correta de enviar tokens do GeeTest V4)
  • O nó HTML extrai o preço e o nome do produto via seletores CSS (.product-price, h1)
  • $workflow.staticData.lastPrice persiste o preço anterior entre as execuções
  • A comparação de preços detecta quedas (gravidade: deal) e aumentos (gravidade: info)
Clique para expandir o JSON completo do fluxo de trabalho (17 nós)
json Copy
{
  "name": "GeeTest V4 Scraping — Price & Product Details — CapSolver + Schedule + Webhook",
  "nodes": [
    {
      "parameters": {
        "content": "## Raspagem do GeeTest V4 — Monitor de Preços e Produtos\n\n**Para quem é:** Equipes que precisam monitorar preços ou dados de produtos em sites protegidos pelo GeeTest V4.\n\n**O que faz:** Resolve o GeeTest V4, busca a página do produto, extrai o preço e o nome via seletores CSS, compara com valores armazenados e alerta sobre alterações, se houver.\n\n**Como funciona:**\n1. Um Agendamento (a cada 6 horas) ou Webhook aciona o fluxo.\n2. O CapSolver resolve o desafio do GeeTest V4.\n3. Uma solicitação HTTP busca a página do produto com os tokens resolvidos.\n4. O nó HTML extrai o preço e o nome do produto.\n5. Um nó de código compara o preço atual com o preço armazenado → alerta sobre alterações, se houver.\n\n**Configuração:**\n1. Adicione sua chave de API do CapSolver em **Settings → Credentials**.\n2. Substitua o URL do placeholder e a chave do site.\n3. Atualize os seletores CSS em \"Extrair Dados\" para corresponder à sua página de destino.\n4. Conecte a saída de \"Construir Alerta\" ao seu canal de notificação.",
        "height": 560,
        "width": 460,
        "color": 1
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -920,
        -380
      ],
      "id": "sticky-blog-main-1773678228112-1",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "### Caminho Agendado\nExecuta automaticamente a cada 6 horas.\nOs resultados são persistidos nos dados estáticos do fluxo de trabalho para comparação entre execuções.",
        "height": 480,
        "width": 1900,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -440,
        -280
      ],
      "id": "sticky-blog-section-1773678228112-2",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "### Caminho do Webhook\nAcionador sob demanda — mesma lógica, retorna resultados como uma resposta JSON.",
        "height": 480,
        "width": 1900,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -440,
        140
      ],
      "id": "sticky-blog-section-1773678228112-3",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 6
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        -400,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999901",
      "name": "A cada 6 Horas"
    },
    {
      "parameters": {
        "operation": "GeeTest V4",
        "websiteURL": "https://SEU-SITE-ALVO.com/pagina-do-produto",
        "captchaId": "SEU_CAPTCHA_ID_AQUI",
        "optional": {}
      },
      "type": "n8n-nodes-capsolver.capSolver",
      "typeVersion": 1,
      "position": [
        -96,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999902",
      "name": "Resolver GeeTest V4",
      "credentials": {
        "capSolverApi": {
          "id": "YOUR_CREDENTIAL_ID",
          "name": "CapSolver account"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://SEU-SITE-ALVO.com/pagina-do-produto",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "user-agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
            }
          ]
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "captcha_id",
              "value": "={{ $json.data.solution.captcha_id }}"
            },
            {
              "name": "lot_number",
              "value": "={{ $json.data.solution.lot_number }}"
            },
            {
              "name": "pass_token",
              "value": "={{ $json.data.solution.pass_token }}"
            },
            {
              "name": "gen_time",
              "value": "={{ $json.data.solution.gen_time }}"
            },
            {
              "name": "captcha_output",
              "value": "={{ $json.data.solution.captcha_output }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "fullResponse": false
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        208,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999903",
      "name": "Buscar Página do Produto"
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "sourceData": "json",
        "dataPropertyName": "data",
        "extractionValues": {
          "values": [
            {
              "key": "price",
              "cssSelector": ".product-price, [data-price], .price",
              "returnValue": "text",
              "returnArray": false
            },
            {
              "key": "productName",
              "cssSelector": "h1, .product-title",
              "returnValue": "text",
              "returnArray": false
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.html",
      "typeVersion": 1.2,
      "position": [
        512,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999904",
      "name": "Extrair Dados"
    },
    {
      "parameters": {
        "jsCode": "// Obter preço atual e anterior dos dados estáticos do fluxo de trabalho\nconst staticData = $workflow.staticData;\nconst currentPrice = $input.first().json.price;\nconst previousPrice = staticData.lastPrice;\nconst productName = $input.first().json.productName || 'Produto';\n\n// Analisar valores numéricos para comparação\nconst parsePrice = (str) => {\n  if (!str) return null;\n  const match = str.match(/[\\d,]+\\.?\\d*/);\n  return match ? parseFloat(match[0].replace(',', '')) : null;\n};\n\nconst currentNum = parsePrice(currentPrice);\nconst previousNum = parsePrice(previousPrice);\n\n// Atualizar preço armazenado\nstaticData.lastPrice = currentPrice;\nstaticData.lastChecked = new Date().toISOString();\n\nconst changed = previousNum !== null && currentNum !== null && currentNum !== previousNum;\nconst direction = changed ? (currentNum < previousNum ? 'caiu' : 'aumentou') : 'inalterado';\nconst diff = changed ? Math.abs(currentNum - previousNum).toFixed(2) : '0';\n\nreturn [{\n  json: {\n    productName,\n    currentPrice,\n    previousPrice: previousPrice || 'primeira verificação',\n    changed,\n    direction,\n    diff: changed ? `$${diff}` : null,\n    checkedAt: new Date().toISOString()\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        800,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999905",
      "name": "Comparar Dados"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "price-if-001",
              "leftValue": "={{ $json.changed }}",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        1104,
        0
      ],
      "id": "99999999-9999-9999-9999-999999999906",
      "name": "Dados Alterados?"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "alert-001",
              "name": "alert",
              "value": "=Preço {{ $json.direction }} para {{ $json.productName }}: {{ $json.previousPrice }} → {{ $json.currentPrice }} ({{ $json.direction === 'caiu' ? '-' : '+' }}{{ $json.diff }})",
              "type": "string"
            },
            {
              "id": "alert-002",
              "name": "severity",
              "value": "={{ $json.direction === 'caiu' ? 'deal' : 'info' }}",
              "type": "string"
            },
            {
              "id": "alert-003",
              "name": "checkedAt",
              "value": "={{ $json.checkedAt }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1408,
        -80
      ],
      "id": "99999999-9999-9999-9999-999999999907",
      "name": "Construir Alerta"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "nc-001",
              "name": "status",
              "value": "no_change",
              "type": "string"
            },
            {
              "id": "nc-002",
              "name": "currentPrice",
              "value": "={{ $json.currentPrice }}",
              "type": "string"
            },
            {
              "id": "nc-003",
              "name": "checkedAt",
              "value": "={{ $json.checkedAt }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1408,
        128
      ],
      "id": "99999999-9999-9999-9999-999999999908",
      "name": "Nenhuma Alteração"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "price-monitor-geetest-v4",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -400,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999909",
      "name": "Webhook Trigger",
      "webhookId": "99999999-aaaa-bbbb-cccc-999999999909",
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "operation": "GeeTest V4",
        "websiteURL": "https://SEU-SITE-ALVO.com/pagina-do-produto",
        "captchaId": "SEU_CAPTCHA_ID_AQUI",
        "optional": {}
      },
      "type": "n8n-nodes-capsolver.capSolver",
      "typeVersion": 1,
      "position": [
        -96,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999910",
      "name": "Resolver GeeTest V4 [Webhook]",
      "credentials": {
        "capSolverApi": {
          "id": "YOUR_CREDENTIAL_ID",
          "name": "CapSolver account"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://SEU-SITE-ALVO.com/pagina-do-produto",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "user-agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
            }
          ]
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "captcha_id",
              "value": "={{ $json.data.solution.captcha_id }}"
            },
            {
              "name": "lot_number",
              "value": "={{ $json.data.solution.lot_number }}"
            },
            {
              "name": "pass_token",
              "value": "={{ $json.data.solution.pass_token }}"
            },
            {
              "name": "gen_time",
              "value": "={{ $json.data.solution.gen_time }}"
            },
            {
              "name": "captcha_output",
              "value": "={{ $json.data.solution.captcha_output }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "fullResponse": false
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        208,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999911",
      "name": "Buscar Página do Produto [Webhook]"
    },
    {
      "parameters": {
        "operation": "extractHtmlContent",
        "sourceData": "json",
        "dataPropertyName": "data",
        "extractionValues": {
          "values": [
            {
              "key": "price",
              "cssSelector": ".product-price, [data-price], .price",
              "returnValue": "text",
              "returnArray": false
            },
            {
              "key": "productName",
              "cssSelector": "h1, .product-title",
              "returnValue": "text",
              "returnArray": false
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.html",
      "typeVersion": 1.2,
      "position": [
        512,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999912",
      "name": "Extrair Dados [Webhook]"
    },
    {
      "parameters": {
        "jsCode": "// Obter preço atual e anterior dos dados estáticos do fluxo de trabalho\nconst staticData = $workflow.staticData;\nconst currentPrice = $input.first().json.price;\nconst previousPrice = staticData.lastPrice;\nconst productName = $input.first().json.productName || 'Produto';\n\n// Analisar valores numéricos para comparação\nconst parsePrice = (str) => {\n  if (!str) return null;\n  const match = str.match(/[\\d,]+\\.?\\d*/);\n  return match ? parseFloat(match[0].replace(',', '')) : null;\n};\n\nconst currentNum = parsePrice(currentPrice);\nconst previousNum = parsePrice(previousPrice);\n\n// Atualizar preço armazenado\nstaticData.lastPrice = currentPrice;\nstaticData.lastChecked = new Date().toISOString();\n\nconst changed = previousNum !== null && currentNum !== null && currentNum !== previousNum;\nconst direction = changed ? (currentNum < previousNum ? 'caiu' : 'aumentou') : 'inalterado';\nconst diff = changed ? Math.abs(currentNum - previousNum).toFixed(2) : '0';\n\nreturn [{\n  json: {\n    productName,\n    currentPrice,\n    previousPrice: previousPrice || 'primeira verificação',\n    changed,\n    direction,\n    diff: changed ? `$${diff}` : null,\n    checkedAt: new Date().toISOString()\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        800,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999913",
      "name": "Comparar Dados [Webhook]"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "price-if-002",
              "leftValue": "={{ $json.changed }}",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        1104,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999914",
      "name": "Dados Alterados? [Webhook]"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "alert-004",
              "name": "alert",
              "value": "=Preço {{ $json.direction }} para {{ $json.productName }}: {{ $json.previousPrice }} → {{ $json.currentPrice }} ({{ $json.direction === 'caiu' ? '-' : '+' }}{{ $json.diff }})",
              "type": "string"
            },
            {
              "id": "alert-005",
              "name": "severity",
              "value": "={{ $json.direction === 'caiu' ? 'deal' : 'info' }}",
              "type": "string"
            },
            {
              "id": "alert-006",
              "name": "checkedAt",
              "value": "={{ $json.checkedAt }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1408,
        340
      ],
      "id": "99999999-9999-9999-9999-999999999915",
      "name": "Construir Alerta [Webhook]"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "nc-004",
              "name": "status",
              "value": "no_change",
              "type": "string"
            },
            {
              "id": "nc-005",
              "name": "currentPrice",
              "value": "={{ $json.currentPrice }}",
              "type": "string"
            },
            {
              "id": "nc-006",
              "name": "checkedAt",
              "value": "={{ $json.checkedAt }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1408,
        548
      ],
      "id": "99999999-9999-9999-9999-999999999916",
      "name": "Nenhuma Alteração [Webhook]"
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        1712,
        420
      ],
      "id": "99999999-9999-9999-9999-999999999917",
      "name": "Responder ao Webhook [Webhook]"
    }
  ],
  "connections": {
    "A cada 6 Horas": {
      "main": [
        [
          {
            "node": "Resolver GeeTest V4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Resolver GeeTest V4": {
      "main": [
        [
          {
            "node": "Buscar Página do Produto",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Buscar Página do Produto": {
      "main": [
        [
          {
            "node": "Extrair Dados",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extrair Dados": {
      "main": [
        [
          {
            "node": "Comparar Dados",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Comparar Dados": {
      "main": [
        [
          {
            "node": "Dados Alterados?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dados Alterados?": {
      "main": [
        [
          {
            "node": "Construir Alerta",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Nenhuma Alteração",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Resolver GeeTest V4 [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Resolver GeeTest V4 [Webhook]": {
      "main": [
        [
          {
            "node": "Buscar Página do Produto [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Buscar Página do Produto [Webhook]": {
      "main": [
        [
          {
            "node": "Extrair Dados [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extrair Dados [Webhook]": {
      "main": [
        [
          {
            "node": "Comparar Dados [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Comparar Dados [Webhook]": {
      "main": [
        [
          {
            "node": "Dados Alterados? [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dados Alterados? [Webhook]": {
      "main": [
        [
          {
            "node": "Construir Alerta [Webhook]",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Nenhuma Alteração [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Construir Alerta [Webhook]": {
      "main": [
        [
          {
            "node": "Responder ao Webhook [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Nenhuma Alteração [Webhook]": {
      "main": [
        [
          {
            "node": "Responder ao Webhook [Webhook]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  }
}

Fluxo de Trabalho: Automação de Login de Conta GeeTest V4 — CapSolver + Agendamento + Webhook

Este fluxo de trabalho automatiza o envio de formulários de login protegidos pelo GeeTest V4 de ponta a ponta. Ele resolve o desafio do GeeTest V4 antes de enviar as credenciais.

Como Funciona

Este fluxo de trabalho consiste em cinco nós:

  1. Webhook — Recebe solicitações POST de entrada que acionam a automação de login
  2. Resolver GeeTest V4 — Envia o desafio para o CapSolver e aguarda a solução
  3. Enviar Formulário de Login — Emite uma solicitação HTTP POST para o site de destino com as credenciais e os tokens resolvidos do GeeTest V4
  4. Responder ao Webhook — Retorna o resultado do login

Configuração do Nó

1. Nó Webhook

Configuração Valor
Método HTTP POST
Caminho login-geetest-v4
Responder Response Node

Isso cria um endpoint em: https://sua-instancia-n8n.com/webhook/login-geetest-v4

2. Resolver GeeTest V4 (CapSolver)

Parâmetro Valor
Operação GeeTest V4
URL do Site https://SEU-SITE-ALVO.com/login
ID do Captcha SEU_CAPTCHA_ID_AQUI

Certifique-se também de selecionar sua credencial CapSolver.

3. Enviar Formulário de Login (Solicitação HTTP)

Configuração Valor
Método POST
URL https://SEU-SITE-ALVO.com/login
Tipo de Conteúdo form-urlencoded
Parâmetros do Corpo username=SEU_USUARIO, password=SUA_SENHA, captcha_id={{ $('Resolver GeeTest V4').item.json.data.solution.captcha_id }}, lot_number={{ $('Resolver GeeTest V4').item.json.data.solution.lot_number }}, pass_token={{ $('Resolver GeeTest V4').item.json.data.solution.pass_token }}, gen_time={{ $('Resolver GeeTest V4').item.json.data.solution.gen_time }}, captcha_output={{ $('Resolver GeeTest V4').item.json.data.solution.captcha_output }}

Importante: Substitua SEU_USUARIO e SUA_SENHA pelas suas credenciais reais. Além disso, você pode precisar ajustar os nomes dos campos do formulário para corresponder ao HTML do seu site de destino.

4. Responder ao Webhook (Sucesso/Falha)

Configuração Valor
Responder Com JSON
Corpo da Resposta ={{ JSON.stringify($json) }}

Experimente

Envie uma solicitação POST para o seu endpoint Webhook:

bash Copy
curl -X POST https://sua-instancia-n8n.com/webhook/login-geetest-v4 \
  -H "Content-Type: application/json" \
  -d '{
    "websiteURL": "https://example.com/login",
    "captchaId": "e392e1d7fd421dc63325744d5a2b9c73",
    "username": "testuser",
    "password": "testpass"
  }'

Resposta Esperada (Sucesso):

json Copy
{
  "status": "success",
  "message": "Login successful",
  "solution": {
    "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73",
    "lot_number": "7c18c041a6ed4e...",
    "pass_token": "d88ce40c0a5c5a18...",
    "gen_time": "1709123456",
    "captcha_output": "dGVzdF9jYXB0Y2hh..."
  }
}

Resposta Esperada (Falha):

json Copy
{
  "status": "failed",
  "message": "Login failed: Invalid credentials or captcha",
  "error": "..."
}

Importar Este Fluxo de Trabalho

Copie o JSON abaixo e importe-o para o n8n via Menu > Import from JSON:

Clique para expandir o JSON completo do fluxo de trabalho
json Copy
{
  "name": "GeeTest V4 Account Login — CapSolver + Schedule + Webhook",
  "nodes": [
    {
      "parameters": {
        "content": "## Automação de Login de Conta GeeTest V4 — CapSolver + Agendamento + Webhook\n\n**Para quem é:** Equipes que precisam automatizar o login em contas protegidas pelo GeeTest V4.\n\n**O que faz:** Resolve o desafio do GeeTest V4 e envia o formulário de login com os tokens resolvidos e as credenciais do usuário.\n\n**Como funciona:**\n1. O Webhook aciona o fluxo.\n2. O CapSolver resolve o desafio do GeeTest V4.\n3. Uma solicitação HTTP envia o formulário de login com os tokens resolvidos e as credenciais do usuário.\n4. O Webhook retorna o resultado do login.\n\n**Configuração:**\n1. Adicione sua chave de API do CapSolver em **Settings → Credentials**.\n2. Substitua o URL do placeholder e as credenciais.\n3. Ajuste os nomes dos campos do formulário para corresponder ao seu site de destino.\n4. Ative o fluxo de trabalho.",
        "height": 480,
        "width": 460,
        "color": 1
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -728,
        -400
      ],
      "id": "sticky-blog-main-1773678228112-1",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "login-geetest-v4",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -400,
        0
      ],
      "id": "a2b3c4d5-0001-0001-0001-a2b3c4d50001",
      "name": "Webhook Trigger",
      "webhookId": "a2b3c4d5-aaaa-bbbb-cccc-a2b3c4d50001",
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "operation": "GeeTest V4",
        "websiteURL": "={{ $json.body.websiteURL }}",
        "captchaId": "={{ $json.body.captchaId }}",
        "optional": {}
      },
      "type": "n8n-nodes-capsolver.capSolver",
      "typeVersion": 1,
      "position": [
        -96,
        0
      ],
      "id": "a2b3c4d5-0001-0001-0001-a2b3c4d50002",
      "name": "Resolver GeeTest V4",
      "credentials": {
        "capSolverApi": {
          "id": "YOUR_CREDENTIAL_ID",
          "name": "CapSolver account"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $json.body.websiteURL }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "user-agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
            },
            {
              "name": "Content-Type",
              "value": "application/x-www-form-urlencoded"
            }
          ]
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "username",
              "value": "={{ $json.body.username }}"
            },
            {
              "name": "password",
              "value": "={{ $json.body.password }}"
            },
            {
              "name": "captcha_id",
              "value": "={{ $('Resolver GeeTest V4').item.json.data.solution.captcha_id }}"
            },
            {
              "name": "lot_number",
              "value": "={{ $('Resolver GeeTest V4').item.json.data.solution.lot_number }}"
            },
            {
              "name": "pass_token",
              "value": "={{ $('Resolver GeeTest V4').item.json.data.solution.pass_token }}"
            },
            {
              "name": "gen_time",
              "value": "={{ $('Resolver GeeTest V4').item.json.data.solution.gen_time }}"
            },
            {
              "name": "captcha_output",
              "value": "={{ $('Resolver GeeTest V4').item.json.data.solution.captcha_output }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "fullResponse": false
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        208,
        0
      ],
      "id": "a2b3c4d5-0001-0001-0001-a2b3c4d50003",
      "name": "Enviar Formulário de Login"
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        512,
        0
      ],
      "id": "a2b3c4d5-0001-0001-0001-a2b3c4d50004",
      "name": "Responder ao Webhook"
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Resolver GeeTest V4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Resolver GeeTest V4": {
      "main": [
        [
          {
            "node": "Enviar Formulário de Login",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enviar Formulário de Login": {
      "main": [
        [
          {
            "node": "Responder ao Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  }
}

Solução de Problemas

"Acesso ao GeeTest V4 não encontrado"

Este erro indica que sua conta ou plano CapSolver não inclui acesso ao GeeTest V4. Verifique seu Painel CapSolver para confirmar se este serviço está incluído em seu plano.

"URL do Site Inválido"

Este erro indica que o parâmetro websiteURL que você forneceu no nó CapSolver está incorreto. Verifique novamente a guia de rede das ferramentas de desenvolvedor do seu site de destino para garantir que você está usando o valor correto.

"Login falhou apesar do GeeTest V4 ter sido resolvido"

Se o login falhar mesmo com o GeeTest V4 resolvido com sucesso, o problema pode estar nos seguintes pontos:

  • Credenciais incorretas: Verifique novamente o nome de usuário e a senha que você está enviando no formulário de login.
  • Incompatibilidade de sessão: Se o processo de login envolver sessões ou cookies, certifique-se de manter a mesma sessão entre a busca do desafio do GeeTest V4 e o envio do formulário de login.
  • Outros campos do formulário: O site de destino pode exigir campos ocultos adicionais, tokens CSRF ou outros parâmetros para que o login seja bem-sucedido. Inspecione o HTML do formulário para identificar quaisquer outros campos necessários.
  • User-Agent: Alguns sites podem rejeitar solicitações com base na string do user-agent. Tente definir um user-agent de navegador comum em suas solicitações HTTP.

"Credencial CapSolver Inválida"

Este erro indica que a chave de API do CapSolver que você configurou no n8n está incorreta ou expirou. Verifique seu Painel CapSolver e atualize a credencial no n8n.


Melhores Práticas

  1. Manter a Sessão: Se o site de destino usar sessões ou cookies, certifique-se de manter a mesma sessão entre a busca do desafio e o envio do formulário. No n8n, você pode lidar com cookies usando o nó HTTP Request.
  2. Validar Parâmetros: Verifique novamente se o websiteURL e quaisquer parâmetros opcionais como captchaId e geetestApiServerSubdomain estão corretos. Isso é crucial para o sucesso da resolução do GeeTest V4.
  3. Tratar Erros: Inclua lógica de tratamento de erros em seus fluxos de trabalho para lidar graciosamente com falhas de resolução ou login. Isso pode incluir mecanismos de repetição ou notificações.
  4. Usar User-Agent Apropriado: Defina uma string de user-agent de navegador comum em todas as suas solicitações HTTP para evitar ser bloqueado pelo site.
  5. Testar e Iterar: As implementações do GeeTest V4 podem variar entre os sites. Comece pequeno, teste seu fluxo de trabalho e itere conforme necessário para garantir que ele funcione de forma confiável em seu destino específico.
  6. Nenhum Proxy Necessário: Ao contrário de outros tipos de CAPTCHA, a resolução do GeeTest V4 geralmente não exige que você forneça um proxy. O CapSolver lida com os requisitos de proxy internamente.

Pronto para começar? Inscreva-se no CapSolver e use o código de bônus n8n para obter um bônus adicional de 8% em sua primeira recarga!

Banner do código de bônus do CapSolver

Perguntas Frequentes

O que é o GeeTest V4?

O GeeTest V4 é a mais recente geração do sistema CAPTCHA comportamental da GeeTest, que usa desafios adaptativos e análise comportamental para proteger sites.

Como o GeeTest V4 difere do GeeTest V3?

O GeeTest V4 é estruturalmente mais simples que o V3, exigindo apenas um parâmetro captchaId estático em vez do fluxo de desafio dinâmico que o V3 exigia. Ele também usa o script gcaptcha4.js e retorna 5 campos de solução.

Quanto custa para resolver um desafio do GeeTest V4?

Os preços variam de acordo com o uso. Verifique a página de preços do CapSolver para os preços atuais do GeeTest V4. As tarefas de resolução do GeeTest V4 são mais caras do que o reconhecimento simples de imagem para texto, mas mais baratas do que outros tipos complexos de CAPTCHA.

Quanto tempo leva para resolver um desafio do GeeTest V4?

As tarefas de resolução do GeeTest V4 geralmente levam de 10 a 30 segundos, dependendo da complexidade do desafio e da carga do servidor do CapSolver. Ao contrário do ImageToTextTask, a resolução do GeeTest V4 envolve a criação e o polling de tarefas, portanto, não é instantânea.

Preciso de um proxy para o GeeTest V4?

O serviço de resolução do GeeTest V4 do CapSolver geralmente não exige que você forneça um proxy. O CapSolver lida com os requisitos de proxy internamente. Você só precisa fornecer o websiteURL e o captchaId.

Por que meu token do GeeTest V4 não está sendo aceito?

Se o seu token do GeeTest V4 não estiver sendo aceito, verifique o seguinte:

  • Incompatibilidade de sessão: Certifique-se de manter a mesma sessão e cookies entre a busca do desafio do GeeTest V4 e o envio do formulário.
  • Outros campos do formulário: Inspecione o HTML do formulário para ver se há campos ocultos adicionais ou tokens CSRF que você precisa enviar.
  • User-Agent: Tente definir um user-agent de navegador comum em suas solicitações HTTP.
  • Parâmetros: Certifique-se de que os parâmetros websiteURL e captchaId estão corretos.

Por que o login falha mesmo com o GeeTest V4 resolvido?

Se o login falhar mesmo com o GeeTest V4 resolvido com sucesso, verifique o seguinte:

  • Credenciais: Certifique-se de que você está enviando o nome de usuário e a senha corretos.
  • Sessão/Cookies: Certifique-se de manter a mesma sessão e cookies entre a busca do desafio e o envio do formulário de login.
  • Outros campos do formulário: Inspecione o HTML do formulário para ver se há campos ocultos adicionais ou tokens CSRF que você precisa enviar.
  • User-Agent: Tente definir um user-agent de navegador comum em suas solicitações HTTP.

Este fluxo de trabalho pode ser usado com o n8n Cloud?

Sim. Este fluxo de trabalho funciona com n8n auto-hospedado e n8n Cloud. O nó CapSolver já está disponível como uma integração oficial. Você só precisa adicionar suas credenciais de API.

Ver mais

n8nMar 09, 2026

Como Resolver reCAPTCHA v2/v3 Usando CapSolver e n8n

Bangun API solver eCAPTCHA v2/v3 menggunakan CapSolver dan n8n. Pelajari cara mengotomatisasi penyelesaian token, mengirimkannya ke website, dan mengekstrak data yang dilindungi tanpa coding.

Adélia Cruz
Adélia Cruz
n8nMar 09, 2026

Como resolver o Cloudflare Turnstile usando CapSolver e n8n

Crie uma API para resolver o Cloudflare Turnstile usando CapSolver e n8n. Aprenda como automatizar a obtenção de tokens, enviá-los para sites e extrair dados protegidos sem necessidade de programação.

Índice

Adélia Cruz
Adélia Cruz
n8nMar 17, 2026

Como usar o CapSolver no n8n: O Guia Completo para resolver CAPTCHA em seus fluxos de trabalho

Aprenda como integrar o CapSolver com o n8n para resolver CAPTCHAs e criar fluxos de trabalho de automação confiáveis com facilidade.

Adélia Cruz
Adélia Cruz
n8nMar 16, 2026

Como resolver o problema ImageToText usando CapSolver e n8n

imagem para texto, solver de captcha, captcha OCR, capsolver, n8n, workflow n8n, automação, API de OCR, automação de captcha, imagem base64, reconhecimento de imagem, OCR com IA, webhook, workflow agendado, automatização de formulários, bypass de captcha, gestão de sessões, captcha sem proxy, OCR instantâneo, reconhecimento de texto

Rajinder Singh
Rajinder Singh