Drive the run's browser: pages, tabs, clicks, typing, scrolling, extraction.
Generated from the node definitions in
src/lib/flow/node/browser/and the English labels (component.flow.node.browser). Every node also has the common settings.
Contents
- Click —
browser/click - Cookies —
browser/cookie - Extract —
browser/extract - Hover —
browser/hover - Press key —
browser/key - Back / reload —
browser/navigate - Open URL —
browser/open - Screenshot —
browser/screenshot - Scroll —
browser/scroll - Select option —
browser/select - Close tab —
browser/tab/close - New tab —
browser/tab/new - Switch tab —
browser/tab/switch - Type —
browser/type - Wait for URL —
browser/url - Wait for element —
browser/wait - Upload —
browser/upload - Dialog —
browser/dialog - Download —
browser/download - Run in page —
browser/script - Catch a response —
browser/response - Fill a form —
browser/form - Drag —
browser/drag
Click
browser/click · icon mouse-pointer-click
Clicks an element
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Element | text | ||
nth | Match number | number | 0 | |
timeoutMs | Timeout (ms) | number | 10000 |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"target": "string"
}
Default settings
on error human; the rest are the .
Example node
{
"id": "click",
"type": "browser/click",
"name": "Click",
"field": {
"nth": 0,
"timeoutMs": 10000
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "human", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Cookies
browser/cookie · icon cookie
Reads, sets or clears cookies
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
action | Action | select: get (Read), set (Add), clear (Clear all) | "get" | |
cookie | Cookies to set (JSON list) | json |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"cookies": [
{
"name": "string",
"value": "string",
"domain": "string",
"path": "string",
"expires": "number"
}
]
}
Example node
{
"id": "cookie",
"type": "browser/cookie",
"name": "Cookies",
"field": {
"action": "get"
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Extract
browser/extract · icon scan-text
Reads text, attributes or lists
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
mode | Mode | select: text, attribute, list (List of items) | "text" | |
target | Element | text | ||
attribute | Attribute | text | ||
field | List fields | list of { name: text, selector: text, attribute: text } | ||
timeoutMs | Timeout (ms) | number | 10000 | |
limit | Limit | number | 100 |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"items": [
"unknown"
],
"value": "string"
}
Example node
{
"id": "extract",
"type": "browser/extract",
"name": "Extract",
"field": {
"mode": "text",
"field": [],
"timeoutMs": 10000,
"limit": 100
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Hover
browser/hover · icon pointer
Moves the mouse over an element
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Element | text | ||
timeoutMs | Timeout (ms) | number | 10000 |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"target": "string"
}
Default settings
on error human; the rest are the .
Example node
{
"id": "hover",
"type": "browser/hover",
"name": "Hover",
"field": {
"timeoutMs": 10000
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "human", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Press key
browser/key · icon keyboard-music
Presses a key or shortcut
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
key | Key (Enter, Control+A…) | text | "Enter" | |
target | Element (optional) | text | ||
count | Times | number | 1 |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"key": "string"
}
Example node
{
"id": "key",
"type": "browser/key",
"name": "Press key",
"field": {
"key": "Enter",
"count": 1
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Back / reload
browser/navigate · icon rotate-ccw
Goes back, forward or reloads the tab
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
action | Action | select: back, forward, reload | "back" |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"url": "string",
"title": "string"
}
Example node
{
"id": "navigate",
"type": "browser/navigate",
"name": "Back / reload",
"field": {
"action": "back"
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Open URL
browser/open · icon globe
Opens a page in the current tab
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
url | URL | text | ||
wait | Wait until | select: load (Page loaded), domcontentloaded (Content ready), networkidle (Network idle) | "domcontentloaded" |
Output dots
next— Nexterror— Error
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"url": "string",
"title": "string",
"status": "number"
}
Default settings
on error human; the rest are the .
Example node
{
"id": "open",
"type": "browser/open",
"name": "Open URL",
"field": {
"wait": "domcontentloaded"
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "human", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Screenshot
browser/screenshot · icon camera
Captures the page or an element as a file
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Element (optional) | text | ||
full | Whole page | boolean | false |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}. The JPEG (quality 80) is the item's screenshot: {{ file.screenshot }} in the next node, a chip with a preview in Node details.
{
"url": "string"
}
Example node
{
"id": "screenshot",
"type": "browser/screenshot",
"name": "Screenshot",
"field": {
"full": false
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Scroll
browser/scroll · icon arrow-down-to-line
Scrolls the page
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
mode | Mode | select: pixels (By pixels), bottom (To the bottom), count (Until enough elements) | "count" | |
amount | Pixels | number | 800 | |
target | Count elements | text | ||
count | Until count | number | 50 | |
max | Maximum scrolls | number | 40 |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"scrolled": "number",
"count": "number",
"reachedEnd": "boolean"
}
Example node
{
"id": "scroll",
"type": "browser/scroll",
"name": "Scroll",
"field": {
"mode": "count",
"amount": 800,
"count": 50,
"max": 40
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Select option
browser/select · icon list-checks
Picks an option in a dropdown
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Dropdown | text | ||
value | Option value or label | text |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"selected": [
"string"
]
}
Default settings
on error human; the rest are the .
Example node
{
"id": "select",
"type": "browser/select",
"name": "Select option",
"field": {},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "human", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Close tab
browser/tab/close · icon square-x
Closes the current tab
| Field | Label | Kind | Default | Shown for |
|---|
No fields.
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"count": "number"
}
Example node
{
"id": "close",
"type": "browser/tab/close",
"name": "Close tab",
"field": {},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
New tab
browser/tab/new · icon square-plus
Opens a new tab
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
url | URL (optional) | text |
Output dots
next— Next
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"url": "string",
"count": "number"
}
Example node
{
"id": "new",
"type": "browser/tab/new",
"name": "New tab",
"field": {},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Switch tab
browser/tab/switch · icon app-window
Makes another open tab current
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
index | Tab number (0 first, -1 last) | number | 0 |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"index": "number",
"count": "number",
"url": "string",
"title": "string"
}
Example node
{
"id": "switch",
"type": "browser/tab/switch",
"name": "Switch tab",
"field": {
"index": 0
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Type
browser/type · icon keyboard
Types into a field
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Element | text | ||
text | Text | textarea | ||
clear | Clear first | boolean | true | |
submit | Press Enter | boolean | false |
Output dots
next— NextnotFound— Not found
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"length": "number"
}
Default settings
on error human; the rest are the .
Example node
{
"id": "type",
"type": "browser/type",
"name": "Type",
"field": {
"clear": true,
"submit": false
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "human", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Wait for URL
browser/url · icon link
Waits until the address matches
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
pattern | URL contains (or /regex/) | text | ||
timeoutMs | Timeout (ms) | number | 15000 |
Output dots
matched— Matchedtimeout— Timeout
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"url": "string"
}
Example node
{
"id": "url",
"type": "browser/url",
"name": "Wait for URL",
"field": {
"timeoutMs": 15000
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Wait for element
browser/wait · icon scan-eye
Waits for an element
Fields
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | Element | text | ||
state | State | select: visible, hidden, attached (In the page), detached (Removed) | "visible" | |
timeoutMs | Timeout (ms) | number | 15000 |
Output dots
found— Foundtimeout— Timeout
Output shape
Later nodes read it as {{ nodes.<id>.output… }}.
{
"found": "boolean",
"waitedMs": "number"
}
Example node
{
"id": "wait",
"type": "browser/wait",
"name": "Wait for element",
"field": {
"state": "visible",
"timeoutMs": 15000
},
"setting": {
"retry": {
"count": 0,
"waitMs": 1000,
"backoff": "fixed"
},
"error": { "mode": "stop", "fallback": null, "break": { "count": 3, "waitMs": 600000 } },
"timeoutMs": 60000,
"disabled": false
},
"pin": null
}
Upload
browser/upload · icon upload
Puts the item's files (keys, comma separated; default data) into a file input of the page (its selector, default input[type=file]). The files never leave the engine: the browser reads them from its /file folder.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
target | File input (selector) | text | "input[type=file]" | |
file | The item's files (keys, comma separated) | text | "data" |
Dialog
browser/dialog · icon message-square-warning
Answers the page's alert, confirm and prompt dialogs: Accept (with the prompt text) or Dismiss, the next dialog or every dialog from now on in this tab. Put it before the step that opens the dialog.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
action | Answer | select: accept, dismiss | "accept" | |
text | Prompt text | text | ||
when | For | select: next (The next dialog), every (Every dialog) | "next" |
Download
browser/download · icon download
Downloads a file in the browser, signed in as it is: by clicking an element that starts a download, or by opening a URL. It becomes the item's file download ({ name, size }). Wait at most 60 seconds by default.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
mode | Start it by | select: click (Clicking), url (Opening a URL) | "click" | |
target | Element to click | text | mode: click | |
url | URL | text | mode: url | |
waitMs | Wait at most (ms) | number | 60000 |
Run in page
browser/script · icon terminal · plan feature code
Runs JavaScript in the page (document, window), with the item as item. What it returns is the output (an object; anything else comes out as { value }).
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
code | Code | code | "return { title: document.title, links: document.links.length };" |
Catch a response
browser/response · icon radio-receiver
Waits for a network response the page gets.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
url | URL contains (or /regex/) | text | ||
method | Method | select: any, GET, POST, PUT, PATCH, DELETE | "any" | |
action | Then | select: none (Just wait), reload (Reload the page), click (Click an element), navigate (Go to a URL) | "none" | |
target | Selector or URL | text | action: click, navigate | |
as | Body as | select: auto (Auto (JSON or text)), json, text, file (A file) | "auto" | |
timeoutMs | Wait at most (ms) | number | 30000 |
Output dots: next, timeout.
Fill a form
browser/form · icon text-cursor-input
Types, picks, checks and attaches, then sends.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
field | Fields | list of { target: text, kind: select, value: text } | [{"target": "", "kind": "type", "value": ""}] | |
isHuman | Type like a person | boolean | true | |
submit | Then click (selector) | text | ||
timeoutMs | Wait for each field (ms) | number | 10000 |
Output dots: next, notFound.
Drag
browser/drag · icon move
Drags an element onto another, or by an offset.
| Field | Label | Kind | Default | Shown for |
|---|---|---|---|---|
source | Drag (selector) | text | ||
to | To | select: element (An element), offset (An offset) | "element" | |
target | Drop on (selector) | text | to: element | |
x | X (pixels) | number | 100 | to: offset |
y | Y (pixels) | number | 0 | to: offset |
steps | Mouse steps | number | 20 | |
timeoutMs | Wait at most (ms) | number | 10000 |
Output dots: next, notFound.