Skip to content

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.

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:

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: saludo

Option 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: page
Page Navigate page = = page url = "https://example.com"
Page Click page = = page selector = (#entrar)
Close Browser session = = page

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"]).

ActivityTypeOutputWhat it does
Open Browserbrowser-openZoanPageSessionOpen the browser and return a page session
Attach Browserbrowser-attachZoanPageSessionReuse an existing browser session
New Pagebrowser-new-pageZoanPageSessionOpen a new tab in the current session
Close Pagepage-closeClose a tab
Close Browserbrowser-closeClose (or disconnect) the browser session
ActivityTypeOutputWhat it does
Navigatepage-navigateGoes to a URL
Clickpage-clickClicks on an item
Fill Fieldpage-fillWrite a value into a field (quick)
Type Textpage-typeType text character by character
Select Optionpage-selectChoose an option on a <select>
Check / Uncheckpage-checkCheck/uncheck a checkbox or radio
Hoverpage-hoverMouse over an element
Key Presspage-key-pressSend a key or combination
Scrollpage-scrollScroll the page or an element
ActivityTypeOutputWhat it does
Get Textpage-get-textstringVisible text of an element
Get Valuepage-get-valuestringValue of an input/select/textarea
Get Attributepage-get-attributestringValue of an HTML attribute
Element Existspage-element-existsbooleanDoes the element exist and is visible?
Extract Tablepage-extract-tableDataTableExtract an HTML table to a DataTable
ActivityTypeOutputWhat it does
Wait Forpage-wait-forWait for an element to reach a state
Wait for Downloadpage-wait-for-downloadstringWait for a download to finish
Screenshotpage-screenshotstringScreenshot to file
Evaluate JSpage-evaluateobjectRun JavaScript on the page
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: movimientos