BotreamDocs Website Türkçe v0.1.1

Wait & Delay commands

delay · wait

delay Delay

Pauses execution for a number of seconds or milliseconds.

Give at least one of --seconds, --milliseconds.

Parameters

ParameterValueDefaultDescription
--secondsnumberHow long to wait, in seconds (fractions allowed, e.g. 1.5); use --milliseconds instead for milliseconds
--millisecondsnumberHow long to wait, in milliseconds (1000 = 1 second)

Examples

delay --seconds:5
delay --milliseconds:500

wait Wait

Waits until something happens: a file appears, a window closes, the screen changes, an element shows up… After --timeout the task goes on (with a warning) unless --failontimeout:true.

Parameters of every variant

ParameterValueDefaultDescription
--timeoutnumber30Timeout in seconds
--failontimeouttrue / falsefalsetrue: the command fails when the time is up (the nearest catch handles it); false: the task goes on and --output tells what happened
--outputvariable nameReceives true when the wait succeeded, false on timeout

Types (--type)

--type:fileexists

Until the file (or a file matching the wildcard) exists.

ParameterValueDefaultDescription
--path requiredtextFile path; wildcards allowed, e.g. C:\Reports\*.xlsx (any matching file in the folder) A file on the agent machine.
--type:filenotexists

Until no matching file exists (deleted or moved away).

ParameterValueDefaultDescription
--path requiredtextFile path; wildcards allowed, e.g. C:\Reports\*.xlsx (any matching file in the folder) A file on the agent machine.
--type:folderexists

Until the folder (or a matching folder) exists.

ParameterValueDefaultDescription
--path requiredtextFolder path; wildcards allowed, e.g. C:\Projects\2026* (any matching subfolder) A folder on the agent machine.
--type:foldernotexists

Until no matching folder exists.

ParameterValueDefaultDescription
--path requiredtextFolder path; wildcards allowed, e.g. C:\Projects\2026* (any matching subfolder) A folder on the agent machine.
--type:windowexists

Until the window is open.

ParameterValueDefaultDescription
--window required$variable$Window from window --action:open/attach, or a set --type:window pattern
--type:windownotexists

Until the window is closed.

ParameterValueDefaultDescription
--window required$variable$Window from window --action:open/attach, or a set --type:window pattern
--type:screenchange

Until the screen (or a window, or an area of it) changes, or until it stops changing.

ParameterValueDefaultDescription
--window$variable$Window to watch; the whole screen when empty. Mark area: drag a rectangle on the screen
--untilone of change, stablechangechange: until it looks different; stable: until it stays the same for --stablefor seconds
--stablefornumber2With --until:stable, seconds without any change
--xnumber0Area to watch: left edge, relative to the window (or the screen)
--ynumber0Area to watch: top edge, relative to the window (or the screen)
--widthnumberArea to watch: width in pixels (the whole window when empty)
--heightnumberArea to watch: height in pixels (the whole window when empty)
--tolerancenumber0Percent of pixels that may change without counting, e.g. 1 ignores a blinking cursor or clock
--type:desktopelement

Until the desktop element appears.

ParameterValueDefaultDescription
--window required$variable$Window from window --action:open/attach, or a set --type:window pattern
--by requiredone of automationid, name, classname, xpath, index
--target requiredtextIdentifier value
--propertiestextObject properties of the captured element. Every checked property must match; the selector is built from them
--anchortextA nearby element that does not change, e.g. name=Amount, automationid=lblTotal, classname=Static or an XPath; among several matches of --target the one closest to it is used
--anchorpositionone of near, right, left, below, abovenearWhere the element is, seen from the anchor: the closest match on that side is used
--fallbacktextOther selectors to try when the first finds nothing, separated by " || ". Alternatives from the properties table are tried after them by themselves
--type:desktopelementgone

Until the desktop element disappears.

ParameterValueDefaultDescription
--window required$variable$Window from window --action:open/attach, or a set --type:window pattern
--by requiredone of automationid, name, classname, xpath, index
--target requiredtextIdentifier value
--propertiestextObject properties of the captured element. Every checked property must match; the selector is built from them
--anchortextA nearby element that does not change, e.g. name=Amount, automationid=lblTotal, classname=Static or an XPath; among several matches of --target the one closest to it is used
--anchorpositionone of near, right, left, below, abovenearWhere the element is, seen from the anchor: the closest match on that side is used
--fallbacktextOther selectors to try when the first finds nothing, separated by " || ". Alternatives from the properties table are tried after them by themselves
--type:element

Until the web element is visible.

ParameterValueDefaultDescription
--browser$variable$Browser from browser --action:open --output (default: the page used last)
--dompath requiredtextXPath or CSS selector
--frametextSelector of the iframe the element is in, e.g. #payment; nested frames as outer >> inner. The page itself when empty
--propertiestextObject properties of the captured element. Every checked property must match; the selector is built from them
--anchortextSelector of a nearby element that does not change (a label, a heading); among several matches of --dompath the one closest to it is used
--anchorpositionone of near, right, left, below, abovenearWhere the element is, seen from the anchor: the closest match on that side is used
--fallbacktextOther selectors to try when the first finds nothing, separated by " || ". Alternatives from the properties table are tried after them by themselves
--type:elementgone

Until the web element is hidden or removed from the page.

ParameterValueDefaultDescription
--browser$variable$Browser from browser --action:open --output (default: the page used last)
--dompath requiredtextXPath or CSS selector
--frametextSelector of the iframe the element is in, e.g. #payment; nested frames as outer >> inner. The page itself when empty
--propertiestextObject properties of the captured element. Every checked property must match; the selector is built from them
--anchortextSelector of a nearby element that does not change (a label, a heading); among several matches of --dompath the one closest to it is used
--anchorpositionone of near, right, left, below, abovenearWhere the element is, seen from the anchor: the closest match on that side is used
--fallbacktextOther selectors to try when the first finds nothing, separated by " || ". Alternatives from the properties table are tried after them by themselves
--type:image

Until the picture is on the screen (or in the window).

ParameterValueDefaultDescription
--image requiredtextThe picture to look for: mark it on the screen (Capture picture), or a .png/.jpg/.bmp file on the agent machine
--window$variable$Look only in this window (brought to the front first); the whole screen when empty
--similaritynumber90How similar a spot must be, in percent (50–100). Lower finds pictures that changed a little (colours, smoothing); higher avoids look-alikes
--type:imagegone

Until the picture is gone from the screen (a spinner, a "Please wait" banner).

ParameterValueDefaultDescription
--image requiredtextThe picture to look for: mark it on the screen (Capture picture), or a .png/.jpg/.bmp file on the agent machine
--window$variable$Look only in this window (brought to the front first); the whole screen when empty
--similaritynumber90How similar a spot must be, in percent (50–100). Lower finds pictures that changed a little (colours, smoothing); higher avoids look-alikes
--type:pageload

Until the web page has loaded.

ParameterValueDefaultDescription
--browser$variable$Browser from browser --action:open --output (default: the page used last)
--type:url

Until the page URL matches.

ParameterValueDefaultDescription
--browser$variable$Browser from browser --action:open --output (default: the page used last)
--value requiredtextURL pattern (wildcards allowed)

Examples

wait --type:fileexists --path:"C:\In\report-*.xlsx" --timeout:120
wait --type:filenotexists --path:"C:\In\~$report.xlsx" --output:closed
wait --type:windowexists --window:$erp$
wait --type:windownotexists --window:$progress$ --timeout:300
wait --type:screenchange --window:$erp$ --x:0 --y:40 --width:800 --height:500
wait --type:screenchange --until:stable --stablefor:3 --tolerance:1
wait --type:desktopelement --window:$erp$ --by:name --target:Save
wait --type:desktopelementgone --window:$erp$ --by:name --target:Loading
wait --type:element --dompath:"//div[@id='loaded']" --timeout:30
wait --type:elementgone --browser:$web$ --dompath:".spinner"
wait --type:image --image:"C:\Pictures\ok-button.png" --window:$citrix$ --timeout:60
wait --type:imagegone --image:"C:\Pictures\spinner.png" --similarity:85 --timeout:120
wait --type:pageload --timeout:60
wait --type:url --value:"*dashboard*" --timeout:30
Botream 0.1.1 · Generated 2026-10-14