Mantis Browser
Ir al contenido
Centro de documentaciónManual · v1.3.29

Herramientas y automatización

Automatización con Playwright y Puppeteer

Conecta tus scripts al navegador de un perfil usando el endpoint CDP de la API local.

v1.3.293 min de lecturaRead in English ↗

Preparar el entorno

La automatización por API y CDP está incluida en Pro y Max. Mantén Mantis abierto y la cuenta iniciada en el mismo PC donde ejecutarás el script. Prepara y prueba primero un perfil desde la interfaz.

  1. Consulta GET /v1/perfiles y copia el id del perfil que quieras utilizar. No es su nombre visible.
  2. Inícialo mediante POST /v1/perfiles/:id/start y utiliza automation.wsEndpoint de la respuesta.
  3. Conecta Playwright o Puppeteer al endpoint recibido; reutiliza el contexto del perfil para conservar sus cookies y ajustes.
  4. Al terminar, desconecta tu herramienta y detén el perfil si tu tarea debe cerrarlo.
Panel de automatización con indicador de API y ejemplos
Interfaz real · Datos de ejemplo Comprueba el indicador de API local y usa las pestañas Python o Node para consultar el ejemplo. La app debe permanecer abierta durante la automatización.

Python con Playwright

Instala las dependencias en tu entorno con pip install requests playwright. Este ejemplo conecta con el Chromium que abre Mantis y cierra el perfil al terminar; sustituye PROFILE_ID por el id elegido.

Ejemplo Python
import requests
from playwright.sync_api import sync_playwright

API = "http://127.0.0.1:3848/v1"
PROFILE_ID = "REPLACE_WITH_PROFILE_ID"

def api(method, path):
    response = requests.request(method, API + path, timeout=120)
    response.raise_for_status()
    return response

started = api("POST", f"/perfiles/{PROFILE_ID}/start").json()
try:
    with sync_playwright() as p:
        browser = p.chromium.connect_over_cdp(
            started["automation"]["wsEndpoint"]
        )
        context = browser.contexts[0]
        page = context.new_page()
        page.goto("https://example.com")
        print(page.title())
        page.close()
finally:
    api("POST", f"/perfiles/{PROFILE_ID}/stop")

Node.js con Puppeteer

En tu proyecto instala puppeteer-core y guarda el ejemplo como un archivo .mjs. Usa una versión de Node con fetch disponible. La llamada disconnect cierra la conexión de automatización; /stop cierra el perfil.

Ejemplo Node.js
import puppeteer from "puppeteer-core";

const API = "http://127.0.0.1:3848/v1";
const PROFILE_ID = "REPLACE_WITH_PROFILE_ID";
async function api(path, method = "GET") {
  const response = await fetch(API + path, { method });
  if (!response.ok) {
    throw new Error(response.status + ": " + await response.text());
  }
  return response;
}

const started = await (await api(
  "/perfiles/" + PROFILE_ID + "/start", "POST"
)).json();
let browser;
try {
  browser = await puppeteer.connect({
    browserWSEndpoint: started.automation.wsEndpoint,
    defaultViewport: null,
  });
  const page = await browser.newPage();
  await page.goto("https://example.com");
  console.log(await page.title());
  await page.close();
} finally {
  if (browser) await browser.disconnect();
  await api("/perfiles/" + PROFILE_ID + "/stop", "POST");
}

Trabajar con varias sesiones

  • Asigna explícitamente el perfil a cada tarea y evita que dos scripts controlen el mismo contexto a la vez.
  • Limita la concurrencia según RAM, CPU y conexión. Cada perfil iniciado es un navegador real.
  • Mantén los ajustes de huella en Mantis; evita redefinirlos desde el script si quieres conservar la identidad del perfil.
  • Para Selenium u otras herramientas necesitas una integración compatible con Chromium/CDP. No sustituye automáticamente cualquier configuración de WebDriver existente.

Cookies y almacenamiento

Necesarias: se utilizan cuando eliges idioma, accedes a tu cuenta o compras. No se pueden desactivar desde este aviso sin afectar esas funciones; puedes borrarlas desde tu navegador.

Publicidad y analítica: no se utilizan en este sitio. Si incorporamos seguimiento opcional, te pediremos una elección antes de activarlo.

Leer la política completa