Cómo resolver un Captcha en RoxyBrowser con la integración de CapSolver

Emma Foster
Machine Learning Engineer
04-Feb-2026

RoxyBrowser proporciona funcionalidad de navegador mediante llamadas a la API y se puede integrar con marcos de automatización como Selenium, Puppeteer y Playwright. Su API está diseñada para permitirle abrir perfiles de navegador reales de forma programática y adjuntar su herramienta de automatización. La API tiene un límite de tasa documentado de 100 llamadas por minuto por endpoint.
Fuente: https://faq.roxybrowser.org/en/guide/10-API
CapSolver proporciona un flujo de API de creación y encuesta que devuelve un token de CAPTCHA que puede inyectar en la página. CapSolver admite varios tipos de CAPTCHA:
- reCAPTCHA v2: Tipo de tarea
ReCaptchaV2TaskProxyLess, devuelvegRecaptchaResponse - reCAPTCHA v3: Tipo de tarea
ReCaptchaV3TaskProxyLess, devuelvegRecaptchaResponsecon puntuación - Cloudflare Turnstile: Tipo de tarea
AntiTurnstileTaskProxyLess, devuelvetokenConsulte la documentación
Este guía muestra un flujo práctico y no vinculado a un marco: abrir un perfil de Roxy mediante API, adjuntar su marco de automatización, resolver la CAPTCHA con CapSolver y inyectar el token para continuar.
¿Qué es RoxyBrowser?
RoxyBrowser es un navegador antidetect para múltiples cuentas con funciones como automatización por API y sincronizador de múltiples ventanas.
Para la automatización, la API es la pieza más relevante:
-
Soporta integración con Selenium, Puppeteer y Playwright.
-
Las solicitudes deben incluir un encabezado
token. -
La host de API predeterminada es
http://127.0.0.1:50000(cambiar el puerto requiere reiniciar).
¿Qué es CapSolver?
CapSolver resuelve CAPTCHAS mediante dos llamadas a la API:
createTaskpara enviar los parámetros de la CAPTCHAgetTaskResultpara encuestar hasta que el token esté listo
Para reCAPTCHA v2, CapSolver devuelve gRecaptchaResponse.
getTaskResult está limitado a 120 consultas por tarea y debe llamarse dentro de los 5 minutos de la creación de la tarea.
Configuración de la API de RoxyBrowser
1) Habilitar la API y obtener su token
- Abra RoxyBrowser y vaya a API.
- Establezca el interruptor de API en Habilitado.
- Copie la clave de API (token) y confirme la host/puerto.
Por defecto, la host es http://127.0.0.1:50000. Si cambia el puerto, debe reiniciar RoxyBrowser.
2) Obtener IDs de workspace y perfiles
Use /browser/workspace para obtener workspaces, luego /browser/list_v3 para listar perfiles.
python
import requests
BASE = "http://127.0.0.1:50000"
HEADERS = {"token": "SU_CLAVE_DE_API_DE_ROXY"}
workspaces = requests.get(f"{BASE}/browser/workspace", headers=HEADERS).json()
workspace_id = workspaces["data"]["rows"][0]["id"]
profiles = requests.get(
f"{BASE}/browser/list_v3",
params={"workspaceId": workspace_id},
headers=HEADERS
).json()
dir_id = profiles["data"]["rows"][0]["dirId"]
3) Abrir un perfil y capturar los puntos de conexión de automatización
Llame a /browser/open. La respuesta incluye:
ws: interfaz WebSocket para herramientas de automatizaciónhttp: interfaz HTTP para herramientas de automatizacióndriver: ruta WebDriver para integración con Selenium
No se admite el modo headless.
python
open_resp = requests.post(
f"{BASE}/browser/open",
json={"workspaceId": workspace_id, "dirId": dir_id, "args": []},
headers=HEADERS
).json()
ws_endpoint = open_resp["data"]["ws"]
http_endpoint = open_resp["data"]["http"]
driver_path = open_resp["data"]["driver"]
4) Adjuntar su marco de automatización
Use los puntos de conexión devueltos para adjuntar su marco:
- Puppeteer/Playwright pueden conectarse mediante el WebSocket DevTools o el punto de conexión HTTP.
- Selenium puede usar la ruta
drivercon una conexión de depurador.
Los pasos exactos para adjuntar dependen de su marco, pero los valores ws, http y driver se proporcionan explícitamente para herramientas de automatización.
Ayudante de CapSolver (Python)
python
import time
import requests
CAPSOLVER_API_KEY = "SU_CLAVE_DE_API_DE_CAPSOLVER"
CAPSOLVER_BASE = "https://api.capsolver.com"
def create_task(task):
payload = {"clientKey": CAPSOLVER_API_KEY, "task": task}
r = requests.post(f"{CAPSOLVER_BASE}/createTask", json=payload)
data = r.json()
if data.get("errorId", 0) != 0:
raise RuntimeError(data.get("errorDescription", "Error de CapSolver"))
return data["taskId"]
def get_task_result(task_id, delay=2):
while True:
time.sleep(delay)
r = requests.post(
f"{CAPSOLVER_BASE}/getTaskResult",
json={"clientKey": CAPSOLVER_API_KEY, "taskId": task_id}
)
data = r.json()
if data.get("status") == "ready":
return data["solution"]
if data.get("status") == "failed":
raise RuntimeError(data.get("errorDescription", "Tarea fallida"))
def solve_recaptcha_v2(website_url, website_key):
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_recaptcha_v3(website_url, website_key, page_action="verify"):
task = {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action
}
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("gRecaptchaResponse", "")
def solve_turnstile(website_url, website_key, action=None, cdata=None):
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key
}
# Añadir metadatos adicionales si se proporcionan
if action or cdata:
task["metadata"] = {}
if action:
task["metadata"]["action"] = action
if cdata:
task["metadata"]["cdata"] = cdata
task_id = create_task(task)
solution = get_task_result(task_id)
return solution.get("token", "")
Para referencia:
Flujo de extremo a extremo: reCAPTCHA v2
-
Abrir un perfil de Roxy mediante
/browser/openy adjuntar su marco de automatización. -
Navegar a la página objetivo y extraer la clave del sitio.
Ejemplo:javascriptconst siteKey = document.querySelector(".g-recaptcha")?.getAttribute("data-sitekey"); -
Resolver con CapSolver usando el ayudante anterior.
-
Inyectar el token y enviar el formulario:
javascriptconst token = "TOKEN_DE_CAPSOLVER"; const el = document.getElementById("g-recaptcha-response"); el.style.display = "block"; el.value = token; el.dispatchEvent(new Event("input", { bubbles: true })); el.dispatchEvent(new Event("change", { bubbles: true }));
Flujo de extremo a extremo: reCAPTCHA v3
reCAPTCHA v3 funciona de manera diferente: funciona en segundo plano y devuelve una puntuación (0,0 a 1,0) en lugar de requerir interacción del usuario.
-
Extraer la clave del sitio y la acción de la página:
javascript// La clave del sitio suele estar en un script o etiqueta meta const siteKey = document.querySelector('[data-sitekey]')?.getAttribute('data-sitekey'); // La acción se encuentra en llamadas a grecaptcha.execute // Buscar en el código fuente de la página: grecaptcha.execute('KEY', {action: 'ACTION'}) const pageAction = "submit"; // o "login", "register", etc. -
Resolver con CapSolver:
pythontoken = solve_recaptcha_v3( website_url="https://example.com/login", website_key="6LcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAA", page_action="login" ) -
Inyectar el token (igual que en v2):
javascriptconst token = "CAPSOLVER_TOKEN"; document.getElementById("g-recaptcha-response").value = token; // Si hay una función de devolución, activarla if (typeof ___grecaptcha_cfg !== 'undefined') { const clients = ___grecaptcha_cfg.clients; Object.keys(clients).forEach(key => { if (clients[key].callback) { clients[key].callback(token); } }); }
Flujo de extremo a extremo: Cloudflare Turnstile
Cloudflare Turnstile es una alternativa moderna a la CAPTCHA que es más rápida de resolver (1-20 segundos).
-
Extraer la clave del sitio de Turnstile:
javascriptconst siteKey = document.querySelector('.cf-turnstile')?.getAttribute('data-sitekey'); // Opcional: extraer acción y cdata si están presentes const action = document.querySelector('.cf-turnstile')?.getAttribute('data-action'); const cdata = document.querySelector('.cf-turnstile')?.getAttribute('data-cdata'); -
Resolver con CapSolver:
pythontoken = solve_turnstile( website_url="https://example.com", website_key="0x4AAAAAAAxxxxxxxxxxxxxxx", action=action, # opcional cdata=cdata # opcional ) -
Inyectar el token de Turnstile:
javascriptconst token = "TOKEN_DE_TURNSTILE_DE_CAPSOLVER"; // Encontrar el campo de respuesta de Turnstile const input = document.querySelector('input[name="cf-turnstile-response"]'); if (input) { input.value = token; input.dispatchEvent(new Event('input', { bubbles: true })); input.dispatchEvent(new Event('change', { bubbles: true })); } // Alternativa: algunas páginas usan un nombre de campo diferente const altInput = document.querySelector('input[name="turnstile-response"]'); if (altInput) { altInput.value = token; }
Mejores prácticas
- Respete el límite de tasa de la API de RoxyBrowser: 100 llamadas por minuto por endpoint.
getTaskResultde CapSolver está limitado a 120 encuestas dentro de los 5 minutos.- Use lógica de reintentos y retroceso si los tokens son rechazados.
- Mantenga la IP del solucionador y la IP de navegación consistentes cuando el sitio objetivo valide el origen del token.
¿Listo para comenzar? Regístrese en CapSolver y use el código de bonificación ROXYBROWSER para obtener un 6% adicional en su primer recarga!

Preguntas frecuentes
-
¿Soporta RoxyBrowser Selenium, Puppeteer y Playwright?
Sí. La API está diseñada para integrarse con estos marcos. -
¿Dónde obtengo el token de API y la host?
Desde API -> Configuración de API en RoxyBrowser. La host predeterminada eshttp://127.0.0.1:50000. -
¿Qué devuelve
/browser/open?
Devuelve los camposws,httpydriverutilizados por las herramientas de automatización. -
¿Se admite el modo headless?
No, el modo headless no se admite. -
¿Qué tipos de CAPTCHA admite CapSolver?
-
¿Cómo devuelve CapSolver los tokens de reCAPTCHA v2?
Cree una tarea conReCaptchaV2TaskProxyLessy encuestegetTaskResultpara obtenergRecaptchaResponse. -
¿En qué se diferencia reCAPTCHA v3 de v2?](https://www.capsolver.com/blog/reCAPTCHA/extra-parameters-recaptcha)
reCAPTCHA v3 funciona en segundo plano sin interacción del usuario y devuelve una puntuación (0,0-1,0). Requiere el parámetropageAction, que se puede encontrar buscandogrecaptcha.executeen el código fuente de la página. -
¿Cómo resuelvo Cloudflare Turnstile?](https://www.capsolver.com/blog/Cloudflare/solver-cloudflare-challenge-turnstile-2024)
Use el tipo de tareaAntiTurnstileTaskProxyLessconwebsiteURLywebsiteKey. Opcionalmente incluyametadata.actionymetadata.cdatasi están presentes en el widget. Turnstile se resuelve en 1-20 segundos.
Lectura adicional: -
¿Cómo encuentro la clave del sitio de Turnstile?
Busque el atributodata-sitekeyen el elemento.cf-turnstile. Las claves de sitio de Turnstile comienzan con0x4. -
¿Necesito un proxy para CapSolver?
No, los tipos de tarea*ProxyLessutilizan la infraestructura de proxy integrada de CapSolver. Use las variantes sinProxyLesssi necesita usar sus propios proxies.
Conclusión
RoxyBrowser le da un entorno de navegador basado en perfiles con puntos de conexión de automatización, y CapSolver proporciona tokens de CAPTCHA programáticos. Al abrir un perfil de Roxy, adjuntar su marco y inyectar tokens de CapSolver, puede construir flujos de automatización confiables que tengan en cuenta las 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

Cómo resolver un Captcha en RoxyBrowser con la integración de CapSolver
Integrar CapSolver con RoxyBrowser para automatizar tareas del navegador y evadir reCAPTCHA, Turnstile y otros CAPTCHAs.

Emma Foster
04-Feb-2026

Cómo resolver captcha en EasySpider con la integración de CapSolver
EasySpider es una herramienta visual de scraping web y automatización de navegadores, y cuando se combina con CapSolver, puede resolver de manera confiable los CAPTCHAs como reCAPTCHA v2 y Cloudflare Turnstile, facilitando la extracción de datos automatizada sin interrupciones en todo tipo de sitios web.

Adélia Cruz
04-Feb-2026

Cómo resolver reCAPTCHA v2 en Relevance AI con integración de CapSolver
Construye una herramienta de Relevance AI para resolver reCAPTCHA v2 utilizando CapSolver. Automatiza los envíos de formularios a través de API sin automatización de navegadores.

Aloísio Vítor
03-Feb-2026

Herramientas de Scraping de Datos Instantáneo: Formas Rápidas para Extraer Datos de la Web Sin Código
Descubre las mejores herramientas de scraping para 2026. Aprende formas rápidas de extraer datos de la web sin código usando las mejores extensiones y APIs para la extracción automatizada.

Rajinder Singh
28-Jan-2026

Raspado Web de Artículos de Noticias con Python (Guía para 2026)
Domina el scraping web de artículos de noticias con Python en 2026. Aprende a resolver reCAPTCHA v2/v3 con CapSolver y construye pipelines de datos escalables.

Adélia Cruz
28-Jan-2026

Top 10 Scrapers sin código para usar en 2026
Una lista curada de las mejores herramientas de scraping web sin código para usar en 2026. Comparar scrapers con inteligencia artificial, plataformas visuales de punto y clic, precios, ventajas y desventajas, y casos de uso del mundo real.

Adélia Cruz
27-Jan-2026

