Why Tasks Fail
Common failure modes in browser automation:- An element takes longer than expected to appear (timeout)
- A popup or modal interrupts the expected flow
- A network request fails or times out
- A selector becomes stale after a navigation
- A CAPTCHA is triggered
- Dynamic content changes the page structure
The on_error Block
The on_error block is Figranium’s primary error handling mechanism. It works like a try/catch: if any action in the main flow raises an error, execution jumps to the on_error block.
on_error / end pair should be placed in the task to catch errors from preceding actions. Any error thrown by an action before the on_error block is caught.
Making an Action Optional
The simplest use: place an emptyon_error/end block to absorb errors from an action that may or may not exist:
Fallback Action
Perform a fallback action when the primary approach fails:Stop on Error with a Reason
Log the failure and stop the task cleanly:Retry Patterns
Retry with a Counter Variable
Use awhile loop combined with a counter to retry a failing action up to N times:
Retry a Login
Handling Popups and Modals
Popups that appear unpredictably are a common cause of task failures. Handle them proactively.Check and Dismiss Before Proceeding
Dismiss Any Popup on Every Page
Use a sub-task triggered viastart to handle common popups at the beginning of every task:
Timeout Strategies
Each action block can have its owntimeout (in milliseconds). Use shorter timeouts for elements that should appear quickly, and longer ones for slow-loading content.
on_error around short-timeout actions to make them non-fatal when the element doesn’t appear.
Logging Errors for Inspection
Use ajavascript block inside on_error to log diagnostic information to the execution output:
Output Provider Error Handling
When using Output Providers, you can control what happens if the data push to an external service fails:onError: "ignore"(default): The execution is marked as successful even if the push fails.onError: "fail": The execution is marked as failed if the push fails.
fail when data delivery is critical and you want alerts on push failures.