Browser
Version: 1.0.0 · ID: zoan-packages-browser · Author: Zoan Software
The Browser package automates a web browser like a person would: open Chrome or Edge, navigate to a page, click, fill out forms, read text, and extract tables. Below it uses Playwright, a modern and robust web automation engine, but you don’t need to know any of that: you work with visual activities.
It is one of the most used packages, because a large part of the business systems (ERP, portals, banking, government) are operated from the browser.
Concept 1: the page session (page)
Section titled “Concept 1: the page session (page)”When you open a browser with Open Browser, you get a page session (type ZoanPageSession): an object that represents that open tab. All page activities (click, fill, read…) need to know which tab to act on — that’s the page parameter.
Hay dos formas de trabajar:
Option A — With body (the simplest)
Section titled “Option A — With body (the simplest)”Open Browser and Attach Browser have a body subflow. Activities placed inside it inherit the session automatically: you do not need to configure the page parameter on each one. When the body finishes, the browser closes automatically.
Open Browser browser = chrome url = "https://example.com" └─ body: Page Fill selector = (#usuario) value = "ana" Page Click selector = (#entrar) Page Get Text selector = (.bienvenida) → output: saludoOption B — With output variable (explicit control)
Section titled “Option B — With output variable (explicit control)”Open Browser stores the session in an output variable (for example, page). Then each activity receives page = = page, and at the end you close it with Close Browser. Useful when the browser must stay open across several sections of the playbook.
Open Browser browser = chrome → output: pagePage Navigate page = = page url = "https://example.com"Page Click page = = page selector = (#entrar)Close Browser session = = pageConcept 2: selectors
Section titled “Concept 2: selectors”A selector tells the bot which page element to use (this button, that field). The recommended way to create them is mouse pointing with UI Discover: Zoan Automation captures a robust reference that combines several strategies (first id, then name, aria-label, text… and as a last resort CSS/XPath), so that it survives page changes better. You can also write a CSS selector by hand (#usuario, input[name="email"]).
Activities
Section titled “Activities”Abrir y cerrar
Section titled “Abrir y cerrar”| Activity | Type | Output | What it does |
|---|---|---|---|
| Open Browser | browser-open | ZoanPageSession | Open the browser and return a page session |
| Attach Browser | browser-attach | ZoanPageSession | Reuse an existing browser session |
| New Page | browser-new-page | ZoanPageSession | Open a new tab in the current session |
| Close Page | page-close | — | Close a tab |
| Close Browser | browser-close | — | Close (or disconnect) the browser session |
Navegar e interactuar
Section titled “Navegar e interactuar”| Activity | Type | Output | What it does |
|---|---|---|---|
| Navigate | page-navigate | — | Goes to a URL |
| Click | page-click | — | Clicks on an item |
| Fill Field | page-fill | — | Write a value into a field (quick) |
| Type Text | page-type | — | Type text character by character |
| Select Option | page-select | — | Choose an option on a <select> |
| Check / Uncheck | page-check | — | Check/uncheck a checkbox or radio |
| Hover | page-hover | — | Mouse over an element |
| Key Press | page-key-press | — | Send a key or combination |
| Scroll | page-scroll | — | Scroll the page or an element |
Read data
Section titled “Read data”| Activity | Type | Output | What it does |
|---|---|---|---|
| Get Text | page-get-text | string | Visible text of an element |
| Get Value | page-get-value | string | Value of an input/select/textarea |
| Get Attribute | page-get-attribute | string | Value of an HTML attribute |
| Element Exists | page-element-exists | boolean | Does the element exist and is visible? |
| Extract Table | page-extract-table | DataTable | Extract an HTML table to a DataTable |
Wait, Capture and Advanced
Section titled “Wait, Capture and Advanced”| Activity | Type | Output | What it does |
|---|---|---|---|
| Wait For | page-wait-for | — | Wait for an element to reach a state |
| Wait for Download | page-wait-for-download | string | Wait for a download to finish |
| Screenshot | page-screenshot | string | Screenshot to file |
| Evaluate JS | page-evaluate | object | Run JavaScript on the page |
A typical flow
Section titled “A typical flow”Open Browser browser = chrome url = "https://portal.cliente.com" └─ body: Page Wait For selector = (#usuario) state = visible Page Fill selector = (#usuario) value = = credential("portal")["user"] Page Fill selector = (#clave) value = = credential("portal")["password"] Page Click selector = (#entrar) Page Wait For selector = (.dashboard) state = visible Extract Table selector = (#tablaMovimientos) → output: movimientosNext steps
Section titled “Next steps”- Open Browser — the starting point for all web automation.
- Getting Started — a guided tutorial that automates a real page.
- Expressions — build URLs and dynamic values.