Ejecutar acciones en el navegador
Interactua con el navegador ejecutando una secuencia de acciones específicas.
+200 apps conectables·Tareas probadas y mantenidas·Soporte humano en español e inglés
En detalle
Qué hace y para qué sirve
Cómo funciona
Así encaja en una tarea automática
Una tarea de Botize une un disparador con una o más acciones. Esta pieza es una de ellas.
Elige un disparador
El evento que inicia la tarea, de esta o de cualquier otra app.
Esta acción se ejecuta
Botize la realiza automáticamente usando los datos que entrega el disparador.
Actívala y olvídate
La tarea trabaja sola desde ese momento. Si algo no cuadra, la ajustas o te ayudamos.
¿Ya usas Botize?
Conecta tu cuenta de Google Chrome
Añade un perfil para usarlo en tus tareas. Tienes una guía paso a paso por si la necesitas.
Añadir un nuevo perfil Guía paso a pasoTus perfiles
Tus cuentas de Google Chrome conectadas
Estas son las cuentas que ya tienes enlazadas a Botize, listas para usar en tus tareas. Puedes reconectar o eliminar cualquiera de ellas.
Configuración
Opciones de personalización
Campos que puedes ajustar al usarlo en tu automatización.
Controla Google Chrome desde Botize enviando una receta: una lista JSON de pasos que la extensión reproducirá en orden sobre la pestaña conectada.
Esta página documenta el formato completo de la receta: cómo construirla, todas las acciones disponibles y cómo se localizan los elementos en la página.
Formato de la receta
Una receta es un objeto JSON con un único array steps:
{
"steps": [
{ "action": "navigate", "url": "https://example.com" },
{ "action": "click", "role": "button", "name": "Aceptar" }
]
}
Los pasos se ejecutan de forma secuencial. Si algún paso falla, la receta se detiene y el error se reporta a Botize.
Grabar una receta
La forma más rápida de construir una receta es grabarla:
- Abre el popup de la extensión de Botize en la pestaña que quieras automatizar.
- Pulsa ● REC y realiza las acciones (hacer clic, escribir, navegar…).
- Pulsa ■ STOP para terminar.
- Pulsa ↓ Export para descargar la receta en JSON.
Después puedes ajustar el JSON a mano o volver a importarlo con ↑ Import.
Cómo se localizan los elementos
Las acciones que interactúan con la página (click, type, paste) localizan los elementos a través del árbol de accesibilidad ARIA, no mediante selectores CSS. Esto hace que las recetas sean resistentes a los cambios cosméticos del HTML.
Cada paso interactivo usa estos campos para encontrar su objetivo:
| Campo | Descripción |
|---|---|
role | Rol ARIA del elemento (button, link, textbox, checkbox…). |
name | Nombre accesible — normalmente la etiqueta visible o el atributo aria-label. |
nameStartsWith | (opcional) Coincidencia por prefijo sobre el nombre. Útil cuando el nombre contiene datos dinámicos (nombres de usuario, contadores, fechas). Cuando se usa, name se ignora. |
parentRole | (opcional) Restringe la búsqueda a elementos dentro de un rol padre concreto. |
parentName | (opcional) Combinado con parentRole, exige que el padre también coincida. |
Cuando varios elementos coinciden, gana el primero en orden del documento. Por ejemplo, en una lista de seguidores, un paso de clic con nameStartsWith: "Seguir" siempre apuntará al primer seguidor.
Acciones de navegación
navigate
Carga una URL en la pestaña actual y espera a que termine de cargar.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
url | string | sí | La URL que se abrirá. |
{ "action": "navigate", "url": "https://example.com" }
wait
Pausa la receta durante un tiempo fijo.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
ms | número | no | Milisegundos de espera. Por defecto: 1000. |
{ "action": "wait", "ms": 2500 }
Acciones de interacción
click
Hace clic sobre un elemento localizado por ARIA.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
role | string | sí | Rol ARIA del objetivo. |
name | string | sí* | Nombre accesible. *Opcional si se usa nameStartsWith. |
nameStartsWith | string | no | Coincidencia por prefijo del nombre. |
parentRole | string | no | Restringe a un rol padre. |
parentName | string | no | Restringe a un nombre de padre. |
wait_for_navigation | boolean | no | Si es true, espera a que la página recargue tras el clic. |
delay | número | no | Retardo antes de ejecutar el paso, en ms. |
{ "action": "click", "role": "button", "name": "Añadir al carrito" }
type
Escribe texto en un campo de entrada o área de texto. El campo debe tener el foco — lo habitual es ir precedido de un paso click sobre el propio campo.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
role | string | sí | Rol ARIA del campo (textbox, searchbox, combobox…). |
name | string | sí | Nombre accesible del campo. |
text | string | sí | Texto a escribir. |
parentRole, parentName, nameStartsWith | no | Mismos campos de localización que click. |
{ "action": "type", "role": "searchbox", "name": "Buscar", "text": "botize" }
paste
Pega un archivo (imagen, documento…) en un área de arrastrar-y-soltar o en un editor que acepte eventos de pegado.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
role, name, … | Mismos campos de localización que click. | ||
file_url | string | sí | URL pública del archivo que se va a pegar. |
{
"action": "paste",
"role": "textbox",
"name": "Mensaje",
"file_url": "https://cdn.example.com/foto.jpg"
}
Acciones de inspección
query
Inspecciona el árbol ARIA para ver qué seleccionaría un matcher sin ejecutar ninguna acción. Útil al construir una receta para validar los selectores antes de comprometerse con un click/type/extract, o para depurar por qué una receta existente ha dejado de matchear.
Solo lectura, sin efectos colaterales: un paso query nunca altera la página ni el estado de la receta — solo reporta a qué resuelve el matcher en este momento.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
role | string | sí | Rol ARIA a buscar. |
name | string | no | Nombre accesible. Vacío/omitido significa "coincide con cualquier nombre" — combinado con role devuelve el primer nodo de ese rol en orden del documento. |
nameStartsWith | string | no | Coincidencia por prefijo del nombre; tiene prioridad sobre name. |
parentRole, parentName | string | no | Mismos campos de localización que click. |
limit | número | no | Máximo de coincidencias a devolver en el array matches. Por defecto 1 (solo la primera, en match). Pon 10 por ejemplo para inspeccionar una lista. |
label | string | no | Etiqueta opcional que se devuelve en la respuesta; útil cuando una receta contiene varios pasos query. |
La respuesta se añade a data.query (una entrada por cada paso query, en el orden de la receta):
{
"label": null,
"match": {
"role": "gridcell",
"name": "Etiqueta del item",
"backendDOMNodeId": 1234,
"children_count": 1,
"parent": { "role": "row", "name": "Etiqueta del item" }
},
"total_matches": 3
}
Cuando el matcher no encuentra nada, match es null, total_matches vale 0 y se añade un objeto diagnostics con pistas — número de nodos que tienen ese rol, número de nodos cuyo nombre coincide y una muestra de nodos con el rol para entender qué hay realmente en el árbol.
{
"match": null,
"total_matches": 0,
"diagnostics": {
"nodes_with_role": 8,
"nodes_with_matching_name": 0,
"sample_nodes_with_role": [
{ "role": "gridcell", "name": "Primer item..." },
{ "role": "gridcell", "name": "Segundo item..." }
]
}
}
{ "action": "query", "role": "gridcell", "name": "" }
Acciones de extracción de datos
Las acciones de extracción rellenan la salida Datos del navegador que se devuelve a Botize. Puedes combinar varias en la misma receta.
get_aria_tree
Devuelve el árbol de accesibilidad de la página actual. Ideal para que una IA entienda la estructura de la página.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
filter | string | interactive | interactive conserva solo los nodos accionables (botones, enlaces, campos…). all conserva todo. |
include_headings | boolean | false | Incluye los nodos heading incluso en modo interactivo. |
max_nodes | número | 500 | Límite duro para evitar salidas enormes. |
{ "action": "get_aria_tree", "filter": "interactive", "include_headings": true }
get_landmark_text
Extrae el texto visible de la página agrupado por landmark ARIA (main, navigation, banner, contentinfo, complementary, search, region). Es la mejor opción para fichas de producto, artículos y páginas ricas en contenido.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
sections | string[] | todos | Limita la salida a landmarks concretos. |
include_links | boolean | false | Incluye la lista de enlaces dentro de cada landmark. |
include_images | boolean | false | Incluye la lista de imágenes dentro de cada landmark. |
{
"action": "get_landmark_text",
"sections": ["main"],
"include_links": true,
"include_images": true
}
get_page_elements
Extrae elementos repetidos (resultados de búsqueda, fichas de producto, publicaciones…) agrupados por su sección semántica y su padre.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
item_role | string | listitem | Rol ARIA de los elementos que se van a extraer. |
sections | string[] | todos | Limita a landmarks concretos. |
paths | string[] | — | Restringe la salida a ramas concretas, por ejemplo "main > list_results". |
{ "action": "get_page_elements", "item_role": "listitem", "sections": ["main"] }
Cada elemento extraído incluye su texto, sus enlaces salientes y sus imágenes.
screenshot
Captura una imagen JPEG de la pestaña actual.
| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
full_page | boolean | false | Si es true, captura la página completa con scroll; si no, solo el viewport. |
{ "action": "screenshot", "full_page": true }
La captura se devuelve en la salida URL de captura.
extract
Extrae un único valor (texto o imagen) de la página. Normalmente se genera pulsando Extract en la grabadora; su uso manual es poco habitual.
| Parámetro | Tipo | Descripción |
|---|---|---|
name | string | Nombre de la variable donde se guardará el valor. |
xpaths | string[] | Lista de XPaths candidatos. La extensión escoge el valor confirmado por más rutas. |
isImage | boolean | Si es true, extrae src en lugar de texto. |
{ "action": "extract", "name": "precio", "xpaths": ["//span[@data-price]"] }
Ejemplo: extraer una ficha de producto
{
"steps": [
{ "action": "navigate", "url": "https://example-shop.com/product/123" },
{
"action": "get_landmark_text",
"sections": ["main"],
"include_images": true
},
{ "action": "screenshot" }
]
}
Ejemplo: pulsar el primer botón "Seguir también" en X
{
"steps": [
{ "action": "navigate", "url": "https://x.com/tu-usuario/followers" },
{
"action": "click",
"role": "button",
"nameStartsWith": "Seguir también",
"parentRole": "generic",
"parentName": "Seguir también"
}
]
}
Datos de salida
Información entregada
Al ejecutarse, esta operación entrega los siguientes datos, pudiendo ser utilizados en la misma tarea automática.
Etiquetas
-
URL
{{url}}
URL
-
Datos del navegador
{{browser_data}}
Datos del navegador
-
URL de la captura de pantalla
{{screenshot_url}}
URL pública de la captura de pantalla tomada por el navegador (si la receta incluía una acción de captura)
-
Código de estado
{{status_code}}
Código de estado
Aprende viendo
Tutoriales en vídeo
Vídeos cortos donde ves cómo se monta una tarea real de principio a fin.
Inspírate
Automatizaciones listas para usar
Tareas reales creadas con Google Chrome: actívalas en minutos y ajústalas a tu gusto.
¿Necesitas ayuda?
Personas detrás, de verdad
Escríbenos por email
info@botize.com
De lunes a viernes de 7h a 13h (España).
Háblanos por Telegram
t.me/botize
De lunes a viernes de 7h a 13h (España).
Ven con una idea.
Vete con una automatización.
Crea tu primera tarea en minutos. Hazlo una vez y olvídate para siempre.
Empieza a automatizar