Cómo resolver desafíos de CAPTCHA para agentes de inteligencia artificial: Extracción de datos con n8n, CapSolver y OpenClaw

Aloísio Vítor
Image Processing Expert
20-Mar-2026

Habilite a su asistente de IA para activar la extracción de datos automatizada, del lado del servidor — sin inyección de navegador, sin código.
El desafío: Los CAPTCHAs bloquean la eficiencia de su agente de IA
Cuando su agente de IA navega por la web, los CAPTCHAs son el principal obstáculo. Las páginas protegidas bloquean al agente, los formularios no se pueden enviar y las tareas se detienen, esperando intervención humana. Esto limita significativamente la eficiencia y la autonomía de los agentes de IA en la extracción de datos automatizada y el procesamiento de información.
Para abordar este problema fundamental, ofrecemos dos soluciones poderosas que combinan OpenClaw y CapSolver:
Enfoque 1 — Integración con extensión de navegador
Cargue la extensión de CapSolver en el entorno del navegador de OpenClaw. La extensión detecta y resuelve los CAPTCHAs de forma invisible del lado del cliente, sin involucrar a n8n, permitiendo que el agente de IA evite la verificación de forma fluida al navegar por las páginas. (Vea nuestro guía completa sobre el enfoque de la extensión)
Enfoque 2 — Pipeline de automatización del lado del servidor con n8n (Enfoque de esta guía)
OpenClaw activa una solicitud de webhook, y n8n resuelve el CAPTCHA mediante la API de CapSolver, envía el formulario y devuelve el contenido de la página limpio a su agente de IA. En este proceso, el agente de IA nunca maneja directamente la verificación de CAPTCHA.
Lo que construirá:
Un pipeline de automatización de CAPTCHA del lado del servidor que OpenClaw activa mediante webhook. n8n utilizará CapSolver para resolver el CAPTCHA, enviar el formulario y devolver el contenido de la página procesado a su agente de IA, asegurando la ejecución fluida de las tareas de extracción de datos.
Requisitos previos
Antes de comenzar, asegúrese de tener el siguiente entorno y herramientas:
- OpenClaw instalado y la puerta de enlace en ejecución (
openclaw gateway start) - n8n en ejecución local — guía de instalación
- Cuenta de CapSolver con clave de API — regístrese aquí
- Nodo de CapSolver disponible en n8n (integración oficial — ya está integrado)
Configuración de CapSolver en n8n
CapSolver está disponible como integración oficial en n8n, sin necesidad de instalar nodos adicionales de la comunidad. Puede encontrarlo directamente en el panel de nodos al crear sus flujos de trabajo. Para habilitar el nodo de CapSolver para autenticarse con su cuenta, debe crear una credencial en n8n.
Abra su lienzo de n8n, haga clic en + para agregar un nodo y busque CapSolver. Este nodo maneja la creación de tareas, la encuesta y la recuperación de tokens en una sola unidad.
Pasos para agregar sus credenciales:
- En n8n, vaya a Credenciales → Nueva credencial
- Busque CapSolver
- Pegue su clave de API desde el panel de CapSolver
- Guarde
Importante: Todos los nodos de CapSolver en sus flujos referirán a esta credencial. Solo necesita crearla una vez — todos sus flujos de resolución de CAPTCHA compartirán la misma credencial. Además, CapSolver proporciona oficialmente un rico repositorio de habilidades en GitHub, donde puede explorar más integraciones y casos de uso relacionados con CapSolver, ampliando así las capacidades de su agente de IA.
Flujo de trabajo: Pipeline de automatización de CAPTCHA de OpenClaw
Todo lo siguiente es un ejemplo. Las URLs, nombres de campos, tipos de CAPTCHA, condiciones de éxito, estructura de respuesta — todo es específico del sitio de demostración utilizado aquí. Su objetivo real será diferente. Trate cada configuración de nodo como un punto de partida, no como una configuración terminada.
Cómo funciona
- Webhook — Recibe una solicitud POST de OpenClaw (o cualquier cliente HTTP).
- CapSolver — Resuelve el CAPTCHA utilizando el tipo de tarea configurado.
- Solicitud HTTP — Envía el token resuelto al sitio objetivo.
- Si — Verifica si la respuesta indica éxito o fracaso.
- Editar campos — Extrae
pageTextde la respuesta. - Responder al webhook — Devuelve el resultado al llamador.
Webhook ──► Resolver CAPTCHA ──► Enviar token ──► ¿Éxito? ──► Extraer resultado ──► Responder al webhook
└─► Marcar como fallido ────┘
Detalles de configuración de nodos
Cree un nuevo flujo de trabajo llamado "OpenClaw/Capsolver/n8n Scraper" con los siguientes nodos:
1. Nodo Webhook
- Tipo: Webhook
- Método HTTP: POST
- Ruta:
openclaw/scrape - Responder: Nodo de respuesta (hace que la llamada sea sincrónica — el llamador espera el resultado)
2. Nodo CapSolver
- Tipo: CapSolver
- Tipo de tarea:
ReCaptchaV2TaskProxyless - URL del sitio web:
https://example.com/protected-page - Clave del sitio:
YOUR_SITE_KEY(bújela en el código fuente de la página — busquedata-sitekey) - Credenciales: su clave de API de CapSolver
¿Usa reCAPTCHA v3? Cambie el tipo de tarea a
ReCaptchaV3TaskProxylessy agregue un campo de acción de página (por ejemplo,login,submit,homepage). Esto es obligatorio para v3 — es el nombre de la acción que el sitio registra con Google. Lo encontrará en el código fuente cerca de la llamadagrecaptcha.execute(...).
Tenga en cuenta que cada tipo de CAPTCHA tiene su propio conjunto de parámetros — algunos campos que son opcionales en v2 se convierten en obligatorios en v3, y v3 puede exponer campos que no existen en v2 en absoluto (como
minScore). Siempre verifique los documentos de CapSolver para los parámetros exactos requeridos por su tipo de tarea.
Este nodo llama a la API de CapSolver, espera la resolución (normalmente 5-20 segundos) y devuelve el token en $json.data.solution.gRecaptchaResponse.
3. Nodo Solicitud HTTP
- Método: POST
- URL:
https://example.com/protected-page - Cuerpo: form-urlencoded
g-recaptcha-response=={{ $json.data.solution.gRecaptchaResponse }}
- Encabezados: encabezados estándar del navegador (User-Agent, Accept, Referer, Origin, etc.)
Esto envía el formulario con el token resuelto, exactamente como lo haría un navegador.
Alerta: Cómo se envía el token varía según el sitio. La mayoría de los formularios lo esperan en el cuerpo de la solicitud como
g-recaptcha-response, pero algunos sitios lo envían como un campo JSON, un encabezado personalizado, o incluso como una cookie o nombre diferente. Use las herramientas de desarrollo de su navegador (pestaña de red) para inspeccionar cómo se ve una entrega real y replicarla en su nodo de solicitud HTTP.
4. Nodo Si (Verificación de éxito)
- Condición:
$json.datacontiene"recaptcha-success" - Rama verdadera → Editar campos (éxito)
- Rama falsa → Editar campos1 (fracaso)
5. Nodos Editar campos / Editar campos1
Ambas ramas establecen un solo campo:
pageText={{ $json.data }}
Las ramas de éxito y fracaso pasan pageText — el llamador puede inspeccionar el HTML para determinar el resultado.
Adapte esto a su página: cómo analiza y utiliza los datos de respuesta depende por completo de lo que desee y de lo que devuelva el sitio objetivo. Algunas páginas devuelven JSON, otras devuelven HTML, algunas redirigen en caso de éxito. Podría querer extraer un campo específico, analizar una tabla, verificar una cookie de sesión o eliminar por completo el HTML. La condición de éxito (
"recaptcha-success") es solo un ejemplo — su sitio tendrá su propio indicador. Estos nodos son un punto de partida; espere personalizarlos para su caso de uso.
6. Nodo Guardar resultado
Este nodo pasa { pageText, savedAt } a la respuesta del webhook y opcionalmente persiste el resultado en el almacenamiento.
Nota: El nodo de código de n8n se ejecuta en un VM aislado que bloquea los built-ins de Node.js como
require('fs'). Use un nodo Execute Command en su lugar para escribir en disco, o reemplace completamente este nodo con cualquier integración de n8n que se ajuste a su pila.
Opción A — Archivo JSON local (nodo Execute Command):
Use dos nodos conectados:
Nodo 7a — Preparar datos (nodo de código):
javascript
const item = $input.first().json;
const now = new Date();
const savedAt = now.toISOString();
const data = { pageText: item.pageText || '', savedAt };
const encoded = Buffer.from(JSON.stringify(data)).toString('base64');
const cmd = 'python3 /path/to/save-result.py ' + encoded;
return [{ json: { cmd, pageText: data.pageText, savedAt } }];
Nodo 7b — Guardar resultado (nodo Execute Command):
- Comando:
={{ $json.cmd }}
Donde save-result.py lee el argumento en base64 y lo agrega a un archivo JSON local.
Opción B — Almacenamiento compatible con n8n:
n8n tiene nodos nativos para casi cualquier sistema de almacenamiento. Reemplace el Nodo 7 con cualquiera de estos:
| Almacenamiento | Nodo de n8n |
|---|---|
| Google Sheets | Agregar una fila con pageText + marca de tiempo |
| Airtable | Crear un registro |
| Notion | Crear una entrada de base de datos |
| PostgreSQL / MySQL | INSERT en una tabla |
| AWS S3 / Cloudflare R2 | Subir un archivo JSON |
| Slack / Telegram | Publicar el resultado en un canal |
Simplemente conecte el nodo entre Editar campos y Responder al webhook, y configúrelo para almacenar $json.pageText y una marca de tiempo.
7. Nodo Responder al webhook
- Responder con: JSON
- Cuerpo de la respuesta:
={{ JSON.stringify($json) }} - Continuar en caso de error: activado
Active el flujo una vez que esté construido. La ruta del webhook estará en vivo en:
POST http://127.0.0.1:3005/webhook/openclaw/scrape
Importar este flujo
Copie el JSON a continuación e introdúzcalo en n8n mediante Menú → Importar desde JSON. Después de importarlo, seleccione su credencial de CapSolver en el nodo Resolver CAPTCHA.
Haga clic para expandir el JSON del flujo
json
{
"nodes": [
{
"parameters": {
"content": "## Pipeline de automatización de CAPTCHA de OpenClaw\n\n### Cómo funciona\n\n1. Inicia el proceso con un disparador de webhook.\n2. Intenta resolver el CAPTCHA usando un servicio especializado.\n3. Envía el token de CAPTCHA para su validación.\n4. Evalúa si la entrega del token fue exitosa.\n5. Establece el resultado y responde a través del webhook.\n\n### Pasos de configuración\n\n- [ ] Configure el disparador de webhook con la URL de endpoint deseada.\n- [ ] Configure las credenciales del servicio de resolución de CAPTCHA.\n- [ ] Asegúrese de que las configuraciones de solicitud HTTP sean válidas para la entrega del token.\n- [ ] Personalice los mensajes de respuesta de éxito y fracaso.\n\n### Personalización\n\nPuede personalizar las condiciones y respuestas de éxito y fracaso en el nodo '¿Éxito?'.",
"width": 480,
"height": 656
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-1312,
-352
],
"id": "de683912-ba9c-4879-9a8e-38190c4b236c",
"name": "Nota adhesiva"
},
{
"parameters": {
"content": "## Inicialización y resolución de CAPTCHA\n\nComienza con un disparador de webhook y resuelve el CAPTCHA usando un servicio externo.",
"width": 800,
"height": 272,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-752,
-208
],
"id": "41705a72-53ba-4c61-951b-251f7f35f422",
"name": "Nota adhesiva1"
},
{
"parameters": {
"content": "## Envío del token\n\nEnvía el token de CAPTCHA resuelto para su validación y verifica el resultado.",
"width": 496,
"height": 304,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
160,
-224
],
"id": "260fdb86-71a7-46dc-9b41-1abd4ae08b79",
"name": "Nota adhesiva2"
},
{
"parameters": {
"content": "## Manejo del resultado y respuesta\n\nManeja tanto los resultados de éxito como de fracaso y envía una respuesta a través del webhook.",
"width": 496,
"height": 480,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
768,
-352
],
"id": "e17032fd-3901-4c2a-aeea-4088c9f79bd4",
"name": "Nota adhesiva3"
},
{
"parameters": {
"httpMethod": "POST",
"path": "openclaw/scrape",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-704,
-96
],
"id": "oc-909",
"name": "Disparador de webhook",
"webhookId": "oc-909-webhook",
"onError": "continueRegularOutput"
},
{
"parameters": {
"websiteURL": "={{ $json.body.websiteURL || 'https://example.com/protected-page' }}",
"websiteKey": "={{ $json.body.websiteKey || 'YOUR_SITE_KEY_HERE' }}",
"optional": {}
},
"type": "n8n-nodes-capsolver.capSolver",
"typeVersion": 1,
"position": [
-96,
-96
],
"id": "oc-910",
"name": "Resolver CAPTCHA [Webhook]",
"credentials": {
"capSolverApi": {
"id": "BeBFMAsySMsMGeE9",
"name": "Cuenta de CapSolver"
}
}
},
{
"parameters": {
"method": "POST",
"url": "={{ $('Disparador de webhook').item.json.body.targetURL || 'https://example.com/protected-page' }}",
"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": "g-recaptcha-response",
"value": "={{ $json.data.solution.gRecaptchaResponse }}"
}
]
},
"options": {
"response": {
"response": {}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.3,
"position": [
208,
-96
],
"id": "oc-911",
"name": "Enviar token [Webhook]"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": false,
"leftValue": "",
"typeValidation": "loose",
"version": 2
},
"conditions": [
{
"id": "if-2",
"leftValue": "={{ String($json.data || $json || '').includes($('Disparador de webhook').item.json.body.successMarker || 'recaptcha-success') }}",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
512,
-96
],
"id": "oc-912",
"name": "¿Éxito? [Webhook]"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "ws1",
"name": "success",
"value": "true",
"type": "boolean"
},
{
"id": "ws2",
"name": "pageText",
"value": "={{ $json.data || $json }}",
"type": "string"
},
{
"id": "ws3",
"name": "savedAt",
"value": "={{ new Date().toISOString() }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
816,
-224
],
"id": "oc-913",
"name": "Extraer Resultado [Webhook]"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "wf1",
"name": "success",
"value": "false",
"type": "boolean"
},
{
"id": "wf2",
"name": "pageText",
"value": "={{ $json.data || $json }}",
"type": "string"
},
{
"id": "wf3",
"name": "error",
"value": "La respuesta no contenía un marcador de éxito",
"type": "string"
},
{
"id": "wf4",
"name": "savedAt",
"value": "={{ new Date().toISOString() }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
816,
-48
],
"id": "oc-914",
"name": "Marcar como Fallido [Webhook]"
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ JSON.stringify($json) }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.5,
"position": [
1120,
-96
],
"id": "oc-917",
"name": "Responder al Webhook"
}
],
"connections": {
"Webhook Trigger": {
"main": [
[
{
"node": "Resolver CAPTCHA [Webhook]",
"type": "main",
"index": 0
}
]
]
},
"Resolver CAPTCHA [Webhook]": {
"main": [
[
{
"node": "Enviar Token [Webhook]",
"type": "main",
"index": 0
}
]
]
},
"Enviar Token [Webhook]": {
"main": [
[
{
"node": "¿Éxito? [Webhook]",
"type": "main",
"index": 0
}
]
]
},
"¿Éxito? [Webhook]": {
"main": [
[
{
"node": "Extraer Resultado [Webhook]",
"type": "main",
"index": 0
}
],
[
{
"node": "Marcar como Fallido [Webhook]",
"type": "main",
"index": 0
}
]
]
},
"Extraer Resultado [Webhook]": {
"main": [
[
{
"node": "Responder al Webhook",
"type": "main",
"index": 0
}
]
]
},
"Marcar como Fallido [Webhook]": {
"main": [
[
{
"node": "Responder al Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"instanceId": "962ff0267b713be0344b866fa54daae28de8ed2144e2e6867da355dae193ea1f"
}
}
Integración de OpenClaw
Para conectar OpenClaw con este flujo de trabajo, crea un script de desencadenante y regístralo.
Crear el script de desencadenante:
bash
cat > ~/.openclaw/scripts/extract-data << \'EOF\'
#!/usr/bin/env bash
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
EOF
chmod +x ~/.openclaw/scripts/extract-data
Este es el único comando que ejecuta OpenClaw. No hay argumentos, ninguna clave de sitio, ningún URL: el flujo de trabajo sabe qué extraer.
Cómo obtiene los datos OpenClaw: El script espera a que n8n termine (resolución de CapSolver + envío del formulario), luego recibe
{ pageText, savedAt }directamente en la respuesta del Webhook. No se involucra la lectura de archivos: los datos regresan sincrónicamente a través de HTTP. La estructura de la respuesta es simplemente lo que devuelve este flujo de trabajo: si necesita campos diferentes (por ejemplo, un precio analizado, un estado de inicio de sesión, un objeto JSON estructurado), modifique los nodos "Editar Campos" y "Guardar Resultado" para devolver lo que su caso de uso requiera.
Registrar el comando en TOOLS.md:
Abre ~/.openclaw/workspace/TOOLS.md y agrega la siguiente entrada para que OpenClaw conozca el comando:
markdown
### extract-data
Ejecutar: `/root/.openclaw/scripts/extract-data`
Devuelve `{ pageText, savedAt }` actualizados desde la tubería en vivo. Devuelve el campo `pageText` de la respuesta JSON.
Probar tu flujo de automatización de agente de IA
Desencadenar desde OpenClaw — envía este comando a tu agente de IA (a través de Discord, Telegram, WhatsApp o cualquier canal):
extraer datos
OpenClaw ejecuta el script extract-data, que activa el webhook y espera. n8n resuelve la CAPTCHA, envía el formulario y devuelve { pageText, savedAt } directamente en la respuesta HTTP. OpenClaw recibe y resume el resultado — normalmente en 10–40 segundos.
Prueba desde la terminal:
bash
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
Adaptar el flujo a tu sitio objetivo
Este flujo de trabajo está diseñado para un sitio de demostración específico. Para tu sitio real, cada parte de la tubería puede requerir ajustes. Aquí está lo que debes revisar:
1. Tipo de CAPTCHA
No todos los sitios usan reCAPTCHA v2. Cambia el tipo de tarea del nodo CapSolver para que coincida con lo que usa el sitio objetivo:
| Lo que ves en el sitio | Operación del nodo n8n |
|---|---|
| "No soy un robot" | reCAPTCHA v2 |
| reCAPTCHA invisible (se activa automáticamente) | reCAPTCHA v2 |
| Puntuación reCAPTCHA v3 | reCAPTCHA v3 |
| Widget de Cloudflare Turnstile | Cloudflare Turnstile |
| Desafío de Cloudflare (página de 5 segundos) | Cloudflare Challenge |
| Puzle GeeTest (v3) | GeeTest V3 |
| Puzle GeeTest (v4) | GeeTest V4 |
| Protección de bot de DataDome | DataDome |
| CAPTCHA de AWS WAF | AWS WAF |
| MTCaptcha | MTCaptcha |
También actualiza la URL del sitio y la clave del sitio para que coincidan con tu objetivo. Puedes encontrar la clave del sitio en el código fuente de la página (busca el atributo data-sitekey, o la extensión de CapSolver para navegadores la detecta automáticamente).
2. Cómo se envía el token
Esta es la parte que varía más entre sitios. El sitio de demostración usa un formulario POST simple con el token en un campo del cuerpo. Tu objetivo podría ser diferente:
Como campo de formulario (más común)
POST /submit
Content-Type: application/x-www-form-urlencoded
g-recaptcha-response=TOKEN&other_field=value
En un cuerpo JSON
POST /api/login
Content-Type: application/json
{ "username": "...", "password": "...", "captchaToken": "TOKEN" }
En un encabezado
POST /api/action
X-Captcha-Token: TOKEN
Como una cookie
POST /submit
Cookie: cf_clearance=TOKEN
En la URL como parámetro de consulta
GET /search?q=query&token=TOKEN
Inspecciona la pestaña de red en las herramientas de desarrollo de tu navegador cuando resuelvas manualmente la CAPTCHA en tu sitio objetivo. Busca la solicitud que se activa inmediatamente después de resolverla — eso te mostrará exactamente dónde va el token.
3. El nodo de solicitud HTTP
Una vez que sepas cómo se envía el token, configura el nodo de solicitud HTTP en consecuencia:
- Método: coincide con el sitio (POST, GET, PUT)
- URL: el punto final exacto que recibe el formulario o la llamada a la API
- Encabezados: copia los encabezados del navegador desde tu pestaña de red — User-Agent, Referer, Origin, Accept y Content-Type suelen ser necesarios
- Cuerpo: usa form-urlencoded, JSON o multipart según el punto final
- Cookies: si el sitio usa cookies de sesión, pásalas como encabezados o usa un nodo de solicitud HTTP previo para obtenerlas a través de un paso de inicio de sesión
4. Extraer los datos que necesitas
El flujo actual pasa el HTML completo de la respuesta como pageText. Dependiendo de tu caso de uso, es posible que desees procesarlo:
- Añade un nodo de código después de la solicitud HTTP para analizar el HTML y extraer campos específicos (nombre del producto, precio, estado)
- Usa el nodo de extracción de HTML de n8n para extraer datos de selectores CSS específicos sin escribir código
- Almacena campos estructurados en lugar de HTML crudo — más fácil de consultar y comparar entre ejecuciones
5. Flujos de múltiples pasos
Algunos objetivos requieren más de una solicitud:
- GET la página para obtener un token CSRF o una cookie de sesión
- Resolver la CAPTCHA
- POST el formulario con el token CSRF + token de CAPTCHA + credenciales
Conecta múltiples nodos de solicitud HTTP en n8n para manejar esto. Pasa valores entre nodos usando expresiones $json.
Solución de problemas
"No se puede alcanzar al raspador de n8n"
json
{"success": false, "error": "No se puede alcanzar al raspador de n8n. ¿Está activo el flujo de trabajo de raspador de CAPTCHA de OpenClaw?"}
Verifica: ¿n8n está en ejecución? ¿El flujo de trabajo está activado? Abre n8n y verifica que el flujo esté Activo (interruptor verde).
Tiempo de espera de CapSolver / Sin token
Posibles causas:
- Clave de API inválida — verifica
~/.n8n/credentials - Saldo insuficiente — recarga en capsolver.com/dashboard
- Problema de red entre el servidor de n8n y la API de CapSolver
pageText está vacío o contiene una página de error
- La URL de solicitud HTTP o el nombre del campo del formulario podría estar equivocado para tu objetivo
- Verifica el nombre del campo
g-recaptcha-response— algunos sitios usan un nombre de campo diferente - Activa
fullResponse: trueen el nodo de solicitud HTTP para ver el código de estado
Referencia completa de configuración
Resumen de nodos del flujo de trabajo de n8n
| Nodo | Tipo | Configuración clave |
|---|---|---|
| Webhook | n8n-nodes-base.webhook |
POST, ruta: openclaw/scrape, modo de respuesta: responseNode |
| Rastrear sitio | n8n-nodes-capsolver.capSolver |
Tarea: ReCaptchaV2TaskProxyless |
| Solicitud HTTP | n8n-nodes-base.httpRequest |
POST a la URL objetivo con el token en el cuerpo |
| Si | n8n-nodes-base.if |
Verificar que $json.data contenga "recaptcha-success" |
| Editar Campos | n8n-nodes-base.set |
pageText = $json.data |
| Guardar Resultado | n8n-nodes-base.executeCommand o cualquier nodo de almacenamiento |
Persistir el resultado (archivo, DB, Sheets, etc.) |
| Responder al Webhook | n8n-nodes-base.respondToWebhook |
JSON, continueOnFail: true |
Tipos de CAPTCHA
| CAPTCHA | Operación del nodo n8n |
|---|---|
| reCAPTCHA v2 (casilla) | reCAPTCHA v2 |
| reCAPTCHA v2 (invisible) | reCAPTCHA v2 |
| reCAPTCHA v3 | reCAPTCHA v3 |
| Cloudflare Turnstile | Cloudflare Turnstile |
| Desafío de Cloudflare | Cloudflare Challenge |
| GeeTest V3 | GeeTest V3 |
| GeeTest V4 | GeeTest V4 |
| DataDome | DataDome |
| AWS WAF | AWS WAF |
| MTCaptcha | MTCaptcha |
Conclusión
La cadena de trabajo OpenClaw + n8n + CapSolver proporciona una configuración de extracción de datos de producción que:
- Se ejecuta a petición cuando tu agente de IA lo solicita mediante un webhook.
- Nunca requiere un navegador o pantalla.
- Mantiene el manejo de CAPTCHA completamente invisible — para ti y para el agente de IA.
El agente de IA simplemente emite un comando "extraer datos" y recibe el contenido de la página limpio. CapSolver maneja la parte difícil, n8n orquesta el flujo y OpenClaw sirve como interfaz.
¿Listo para comenzar? Regístrate en CapSolver.
Preguntas frecuentes
¿Necesito informar a OpenClaw sobre CapSolver o CAPTCHAs?
No. OpenClaw simplemente ejecuta un script que envía una solicitud HTTP. n8n maneja el resto. Tu agente de IA no tiene conocimiento sobre CAPTCHAs — solo activa un trabajo y lee el resultado.
¿Puedo apuntar esto a un sitio diferente?
Sí, pero probablemente necesites ajustar más que solo la URL. Cada sitio envía el token de CAPTCHA de manera diferente — algunos lo usan en campos de formulario, otros en cuerpos JSON, en encabezados o cookies. Consulta la sección "Adaptar el flujo a tu sitio objetivo" anterior para un análisis completo de lo que verificar y cambiar.
¿Qué pasa si mi objetivo usa Turnstile en lugar de reCAPTCHA?
Cambia el tipo de tarea del nodo CapSolver a AntiTurnstileTaskProxyless. Luego inspecciona las solicitudes de red de tu objetivo para encontrar dónde se envía el token de Turnstile — a menudo está en un campo de formulario oculto llamado cf-turnstile-response, pero algunas implementaciones lo pasan en un cuerpo JSON, un encabezado o una cookie.
¿Cuántos resultados se almacenan?
Eso depende de tu elección de almacenamiento. Con un archivo JSON local, puedes almacenar tantos como desees. Con Google Sheets o una base de datos, cada ejecución agrega una fila indefinidamente. Configura el nodo "Guardar Resultado" para que coincida con tus necesidades de retención.
¿Puedo activar esto desde un trabajo cron en lugar de OpenClaw?
Sí — el punto final del webhook es simplemente una solicitud HTTP POST. Cualquier cosa que pueda hacer una solicitud HTTP puede activarla:
bash
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
¿Cuánto cuesta cada extracción?
Cada ejecución cuesta un crédito de CapSolver para resolver la CAPTCHA. reCAPTCHA v2 es uno de los tipos más económicos. Consulta los precios actuales en capsolver.com.
¿Es gratuito OpenClaw?
OpenClaw es de código abierto y gratuito para autohospedaje. Necesitarás créditos de API para tu proveedor de modelo de IA y CapSolver para resolver CAPTCHAs.
Aviso de Cumplimiento: La información proporcionada en este blog es solo para fines informativos. CapSolver se compromete a cumplir con todas las leyes y regulaciones aplicables. El uso de la red de CapSolver para actividades ilegales, fraudulentas o abusivas está estrictamente prohibido y será investigado. Nuestras soluciones para la resolución de captcha mejoran la experiencia del usuario mientras garantizan un 100% de cumplimiento al ayudar a resolver las dificultades de captcha durante el rastreo de datos públicos. Fomentamos el uso responsable de nuestros servicios. Para obtener más información, visite nuestros Términos de Servicio y Política de Privacidad.
Máse

Elevando la Automatización Empresarial: Infraestructura Potenciada por LLM para un Reconocimiento de CAPTCHA Sin Problemas & Eficiencia Operativa
Descubre cómo la infraestructura de automatización de IA impulsada por LLM revoluciona el reconocimiento de CAPTCHA, mejorando la eficiencia de los procesos de negocio y reduciendo la intervención manual. Optimiza tus operaciones automatizadas con soluciones avanzadas de verificación.

Adélia Cruz
30-Mar-2026

Recopilación de Datos a Gran Escala para el Entrenamiento de GML: Resolver CAPTCHAs a Gran Escala
Aprende a escalar la recopilación de datos para el entrenamiento de modelos de lenguaje grandes resolviendo CAPTCHAs a gran escala. Descubre estrategias automatizadas para construir conjuntos de datos de alta calidad para modelos de IA.

Sora Fujimoto
27-Mar-2026

Cómo resolver CAPTCHA en OpenBrowser usando CapSolver (Guía de automatización de Agente de IA)
Resolver CAPTCHA en OpenBrowser usando CapSolver. Automatizar reCAPTCHA, Turnstile y más para agentes de IA fácilmente.

Adélia Cruz
26-Mar-2026

Cómo resolver cualquier CAPTCHA en HyperBrowser usando CapSolver (Guía completa de configuración)
Resuelve cualquier CAPTCHA en HyperBrowser usando CapSolver. Automatiza reCAPTCHA, Turnstile, AWS WAF y más fácilmente.

Aloísio Vítor
26-Mar-2026

Resolver Captchas para Agentes de IA de monitoreo de precios: Una Guía Paso a Paso
Aprende a resolver eficazmente los CAPTCHAs para agentes de inteligencia artificial de monitoreo de precios con CapSolver. Este guía paso a paso garantiza la recopilación ininterrumpida de datos y una mayor visión del mercado.

Nikolai Smirnov
24-Mar-2026

Cómo resolver desafíos de CAPTCHA para agentes de inteligencia artificial: Extracción de datos con n8n, CapSolver y OpenClaw
Aprende a automatizar la resolución de CAPTCHA para agentes de inteligencia artificial usando n8n, CapSolver y OpenClaw. Construye una pipeline del lado del servidor para extraer datos de sitios web protegidos sin automatización del navegador ni pasos manuales.

Aloísio Vítor
20-Mar-2026


