while, end flow control - Selenium IDE
while (expression), end - Selenium IDE command
The part between while (expression) and endWhile is executed as long as the expression is true. For sample expressions see also storeEval. If the he expression is false, the IDE executes the immediate next command after endWhile.
Flow control is a built-in UI.Vision RPA Selenium IDE feature. In the classic Selenium IDE you can add support for flow control by installing the Flow Control plugin.
While_V2 uses executeScript_Sandbox
UI Vision Selenium IDE++ (Kantu) V5.0 and higher uses executeScript_Sandbox to evaluate the expression. The old "While" is deprecated and continues to use storeEval. Please read here about the difference. And the new version of "While" uses end instead of endWhile.
In the documentation, whenever we talk about "While", we actually mean the new "While_V2". In the macro source code the new version of WHILE is "Command": "While_v2". The old version continues to use "Command": "While" for backward-compatibility.
Break and Continue
If you are working with loops, you might find it useful at some point to either break the loop when a certain condition is met or you might want to skip over one or more iterations of the loop. This is what the break and continue statements are used for.
The example below is very basic. Best if you see the while/end loop in action by running the DemoCsvSave macro that installs with the IDE. DemocsvSave uses while to loop over all cells in a table row and extract their values.
|while_v2||100 < 5|
|echo||This command is never reached!|
while/endWhile Example 2 (Recreate FOR/NEXT Loop)
In this example we use the while/endWhile construct to loop 5 times. Note that storeEval is used to increment the loop counter in each while loop.
Related Demo Macros
The ready-to-import-and-run source code of all demo macros can be found in the Open-Source RPA software Github repository.
Anything wrong or missing on this page? Suggestions?
...then please contact us.