> For the complete documentation index, see [llms.txt](https://docs.flowstem.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowstem.app/commands/navigation.md).

# Navigation

Navigation commands control the current automation tab or switch Flowstem to a different browser tab.

## Visit URL

Navigates the current automation tab to an address.

* **Configure:** URL.
* **Variables:** The URL can include values from earlier commands.
* **Example:** Visit `https://example.com/customers/$customer_id`.

## Wait for URL

Waits until the current tab's URL matches an expected value.

* **Configure:** Expected URL and matching method.
* **Matching methods:** Equals, contains, starts with, or regular expression.
* **Example:** Wait until the URL contains `/checkout/success`.

## Wait for Page Load

Waits until the current page finishes loading.

* **Configure:** Timeout and retry behavior only.
* **Use it for:** Navigation that starts after a click or form submission.
* **Example:** Click **Submit**, then wait for the destination page to load.

Dynamic websites may continue loading content after the browser load event. Use **Wait Element** when a particular piece of page content must be ready.

## Go Back

Moves the automation tab to the previous entry in its browser history.

* **Configure:** Timeout and retry behavior only.
* **Example:** Open a result, extract its details, then return to the results page.

## Go Forward

Moves the automation tab to the next entry in its browser history.

* **Configure:** Timeout and retry behavior only.
* **Example:** Return to a page after using Go Back.

## Reload Page

Reloads the current automation tab.

* **Configure:** Timeout and retry behavior only.
* **Example:** Refresh a status page before extracting its latest value.

## Create Tab

Creates a browser tab and can make it the active automation tab.

* **Configure:** Initial URL, whether the new tab becomes active, and optional output variable.
* **Output:** The new tab ID.
* **Example:** Open a reference page and save its ID to `$reference_tab`.

## Select Tab

Switches the automation to an existing browser tab.

* **Configure:** Select by tab ID, title, or URL. Title and URL matching can use equals or contains.
* **Variables:** A tab ID saved by Create Tab, Wait for New Tab, or Active Tab ID can be used.
* **Example:** Switch back to the tab stored in `$main_tab`.

## Wait for New Tab

Waits for a newly opened tab, selects it, and optionally saves its ID.

* **Configure:** Match the new tab by title or URL using equals or contains, plus an output variable.
* **Output:** The selected tab ID.
* **Example:** Click a link that opens a payment page, then wait for a URL containing `checkout`.

## Close Tab

Closes a browser tab by ID.

* **Configure:** Target tab ID.
* **Variables:** Use an ID saved by another tab command.
* **Example:** Close `$reference_tab` after copying the required information.

Flowstem cannot continue working in a tab after it has been closed. Select a different tab before closing the active automation tab when more commands follow.

## Active Tab ID

Saves the current automation tab's numeric ID.

* **Configure:** Output variable.
* **Output:** The active tab ID.
* **Example:** Store `$main_tab` before opening and switching between additional tabs.
