Volver al Centro de conocimiento
Primeros pasos

Configurar browser-use con un navegador controlado

Configura browser-use con un ejecutable Chromium y un perfil explícitos, verifica el lanzamiento y reserva las acciones importantes para una persona.

BotBrowser Team

Configurar browser-use con un navegador controlado
Documentación

Quieres la documentación estructurada de Primeros pasos?

Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.

browser-use puede planificar tareas del navegador, pero su bucle de agente no elige un ejecutable confiable ni decide si una acción importante es segura. BotBrowser puede proporcionar un Chromium con perfil para un flujo autorizado; el operador todavía debe elegir el ejecutable y el perfil, verificar lo que se inició y aprobar acciones que cambien cuentas, dinero o datos. El mapa de inicio de automatización cubre el primer recorrido general; esta página se concentra en el traspaso a browser-use.

Para browser-use, BotBrowser puede proporcionar un lanzamiento explícito de Chromium y el argumento --bot-profile; no proporciona el framework de agente, una política de tareas y no garantiza la clasificación de un sitio.

Un operador entrega una tarea a browser-use, se inicia un ejecutable y perfil explícitos, se verifica un fixture y una compuerta de aprobación precede a las acciones importantes

TL;DR

  • Trata browser-use como planificador y controlador, no como autoridad de perfiles o políticas.
  • Pasa un ejecutable Chromium explícito y un argumento de perfil al lanzamiento Playwright subyacente.
  • Lee el proceso iniciado y una página propia antes de entregar una tarea real al agente.
  • Detén el flujo ante credenciales, compras, borrados, permisos o envíos irreversibles.
  • Un lanzamiento correcto demuestra configuración, no un resultado de detector o aplicación.

Contenido

Separar planificación, lanzamiento y aprobación

Cuando el agente usa un servidor MCP en vez de iniciar Chromium, la guía sobre quién posee el navegador headless explica qué componente controla los argumentos de inicio y qué resultados recibe el agente.

browser-use convierte una tarea en lenguaje natural en acciones del navegador. Su documentación y repositorio público describen un marco de agente apoyado en Playwright; no lo convierten en proveedor de navegador, emisor de perfiles ni sistema de autorización. Mantén tres responsables visibles: browser-use planifica, el lanzador posee el proceso y el perfil, y una persona aprueba los pasos importantes. La guía de perfil directo de Playwright cubre el contrato de lanzamiento inferior.

Un plan terminado solo significa que el agente llegó a una página o pulsó un control. No prueba que arrancara el binario correcto, que se cargara el perfil o que un servicio remoto aceptara la sesión. Son observaciones distintas y necesitan comprobaciones distintas.

Usa una ruta de staging propia para la primera ejecución de browser-use. Un fixture local puede exponer un identificador de compilación fijo, un estado de consentimiento y un botón inocuo; una página externa puede cambiar su política entre ejecuciones. Mantén pequeña la tarea hasta que coincidan los controles del proceso y del fixture.

Configurar ejecutable y perfil explícitos

La configuración Python de browser-use termina llegando a un lanzamiento de navegador Playwright. Los constructores exactos pueden cambiar, así que fija la versión y consulta su referencia actual. El contrato invariable es executable_path para el binario BotBrowser aprobado y el perfil dentro de los argumentos del navegador, nunca un navegador incluido por defecto ni un script de página.

import asyncio
from browser_use import Agent, Browser, BrowserConfig

async def main():
    browser = Browser(
        config=BrowserConfig(
            headless=True,
            executable_path="/opt/botbrowser/chrome",
            args=["--bot-profile=/srv/profiles/approved.enc"],
        )
    )
    agent = Agent(
        task="Open the owned staging fixture and report its build identifier. Do not sign in or submit anything.",
        browser=browser,
    )
    await agent.run()

asyncio.run(main())
launch_record = {"executable": "/opt/botbrowser/chrome", "profile": "approved.enc", "fixture": "staging-2026-11-06"}
assert launch_record["executable"].startswith("/opt/")

El ejemplo muestra el límite, no una promesa universal de API. Comprueba los nombres con la versión fijada. El perfil es una entrada de línea de comandos de BotBrowser y pertenece a args; usa una ruta absoluta antes de abrir la primera página. La referencia de flags de BotBrowser documenta la sintaxis y las restricciones de nivel.

No permitas que un paquete descargue silenciosamente otro Chromium y después supongas que el perfil está activo. Desactiva el navegador incluido o usa el lanzador compatible. Guarda en un registro redactado el ejecutable, el identificador del perfil, versiones y runId; nunca incluyas cookies, tokens, contenido de perfil o credenciales de proxy.

Mantener la tarea separada de la política de lanzamiento

El prompt debe describir la página propia y la observación inocua. No debe contener un nuevo ejecutable, secreto o instrucción para debilitar una política. La configuración pertenece al código revisado.

Verificar proceso y fixture visible

Haz dos lecturas independientes. Inspecciona el proceso que Playwright creó y compara su ruta y argumentos con los declarados. Después consulta en un fixture propio valores estables y no sensibles. La página no puede demostrar qué proceso la inició, y el proceso no puede demostrar que una aplicación pintó el estado esperado; conserva ambos controles.

async def verify(page, browser, expected_executable, expected_profile):
    process = browser.playwright_browser.process
    observed_executable = process.args[0] if process and process.args else None
    observed_args = process.args if process else []
    fixture = await page.evaluate("""() => ({
      build: document.querySelector('[data-build]')?.dataset.build ?? null,
      consent: document.querySelector('[data-consent]')?.dataset.consent ?? null,
      userAgent: navigator.userAgent
    })""")
    return {
        "executableMatches": observed_executable == expected_executable,
        "profileArgumentPresent": any(expected_profile in arg for arg in observed_args),
        "fixture": fixture,
    }

El resultado esperado puede ser staging-2026-11-06, consentimiento not-requested y un user-agent no vacío. El user-agent es una observación, no un veredicto. Si falla cualquiera de las dos comparaciones, detén la delegación y clasifica el problema como configuración de lanzamiento. El artículo de gestión de perfiles separa el identificador del contenido sensible.

{
  "runId": "browser-use-check-20261106-01",
  "declared": {
    "executable": "/opt/botbrowser/chrome",
    "profile": "approved.enc",
    "fixture": "staging-2026-11-06"
  },
  "observed": {
    "executableMatches": true,
    "profileArgumentPresent": true,
    "fixtureBuild": "staging-2026-11-06",
    "consent": "not-requested"
  },
  "firstFailure": null
}

Comparar una línea base antes de ampliar el alcance

Registra el ejecutable, el perfil, la versión y el fixture antes de ampliar la tarea. Cambia una sola variable y pide una nueva aprobación cuando cambie el contrato.

Mantener las credenciales fuera del bucle del agente

Las credenciales y los códigos privados deben entrar por un flujo de secretos revisado, nunca por el prompt o el registro del agente.

Usar una tabla para entregar al operador

El agente puede continuar solo con una configuración coincidente y una acción reversible. Una persona debe poseer el cambio de credenciales, consentimiento, pago, borrado, permiso o mutación remota incierta.

ObservaciónPuede continuar el agenteAcción del operador
Ejecutable y perfil coinciden; fixture propio es de solo lecturaLeer otra página de stagingRevisar el alcance
Ejecutable distinto o falta el argumento de perfilNoCorregir y repetir el fixture
El fixture solicita acceso o permisoNoDar credenciales o consentimiento por el flujo aprobado
Se prepara compra, borrado, publicación o envíoNoRevisar parámetros finales y aprobar una vez
Timeout después de una posible escrituraNo reintentar a ciegasConsultar estado idempotente o entregar al dueño

Esta tabla es un límite operativo, no una garantía de comportamiento del modelo. Impón la pausa con un callback de aprobación explícito; una frase en el prompt no protege una cuenta real.

Fixture de fallo y recuperación acotada

Prueba la parada con un fixture que omita deliberadamente la marca de compilación. El agente debe informar que falta y detenerse, no hacer clic hasta que aparezca otra página.

async def read_build(page):
    value = await page.locator("[data-build]").get_attribute("data-build")
    if value is None:
        raise RuntimeError("owned fixture missing data-build; stop delegation")
    return value

Recupera en orden: argumento ausente es problema del lanzador; marca ausente es problema del fixture; pantalla de login es límite de aprobación; timeout después de escribir es resultado incierto. Reiniciar el agente para todos los casos puede duplicar una escritura.

Preguntas frecuentes

¿browser-use garantiza el resultado de un detector?

No. Coordina acciones. Un ejecutable y perfil controlados hacen reproducible el lanzamiento, pero ningún componente garantiza el veredicto de un detector o sitio.

¿Puede el agente elegir un perfil en tiempo de ejecución?

No desde archivos sin restringir. Resuelve un perfil aprobado en el despliegue, registra la regla y deja el cambio a una persona.

¿Debe enviar una compra después de encontrar el producto?

No sin una pausa explícita. Puede preparar un carrito revisable, mientras una persona confirma destinatario, importe, consentimiento y envío final.

¿Basta el user-agent visible para verificar el lanzamiento?

No. Combínalo con la lectura del proceso, el argumento del perfil y un fixture fijo.

Conclusión práctica

Configura browser-use como contrato de lanzamiento revisado, fixture propio y límite de aprobación humana. Inicia el ejecutable explícito con el perfil aprobado, compara proceso y fixture, y detente ante cualquier diferencia o acción importante. Así el recorrido es auditable sin prometer evasión de detección, porcentaje de éxito o decisión remota.

Fuentes

#Browser-Use#Agentes De IA#Automatización#Perfiles#Aprobación Del Operador

Este artículo forma parte de la guía: Primeros pasos con automatización de navegador: mapa inicial

Ejecuta la misma comprobación en BotBrowser

Carga un perfil, mantén dentro del navegador las señales que acabas de leer y confirma el resultado en tu propia máquina antes del despliegue.