# Scroll Vertically

This is a pre-built Action located under the **@Custom Element**. The functionality of this Action in Avo Assure is to perform a vertical scroll operation on the grid’s scrollable section specified in the input value. The result is stored in the given dynamic variable for further use during test execution

{% hint style="info" %}
The **Scroll Vertically** action works only when the **VerifyExists** action is executed in a preceding step.
{% endhint %}

### **Syntax**

**Input Value:**`<ObjectType>;<VisibleText(optional)>;<Index>;<Direction>;<No. of Scrolls>;<abs(optional)>`&#x20;

| Argument                               | Description                                                                                                                                            |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>\<ObjectType><br>(Required)</p>     | Provide the type of object from which you want to scroll vertical in application. (e.g., grid)                                                         |
| <p>\<VisibleText><br>(Optional)</p>    | Provide the visible text associated with the object.                                                                                                   |
| <p>\<Index><br>(Required)</p>          | <p>Provide the position of the object you want to identify based on its sequence in the application.<br><strong>Note</strong>: Index start from 0.</p> |
| <p>\<Direction><br>(Required)</p>      | Provide the direction (up or down) you want to scroll the grid.                                                                                        |
| <p>\<No. of Scrolls><br>(Required)</p> | Provide the number of scroll actions you want to perform in the specified direction of the grid or table.                                              |
| <p>\<abs><br>(Optional)</p>            | Provide the absolute XPath of the object you want to identify for this operation.                                                                      |

{% hint style="info" %}
**Note**:

* If the last argument **abs** is defined, the action executes using absolute identification based on the specified absolute XPath provided in the input.
* To skip an optional input value, use an extra semicolon (;).
  {% endhint %}

**Output Value**: `<Dynamic Variable>(Optional);<Dynamic Variable>(Optional)`

| Argument                                                    | Description                                                                       |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------- |
| \<Dynamic Variable>(Optional);\<Dynamic Variable>(Optional) | This dynamic variable stores the result of the operation as **True** or **False** |

### **Example 1: Performing Vertical Scrolling on a Grid Element**

In this example, we are explaining how to perform vertical scrolling on a specified Grid element on the web page in a given direction and number of scrolls.

* **Action**: Scroll Vertically
* **Input Value**: Grid;;0;down;2
  * The first argument (**Grid**) specifies the object type to be identified.
  * The second argument is left blank to skip an optional value.
  * The third argument (**0**) specifies the index of the Grid when multiple matching elements are present.
  * The fourth argument (**down**) specifies the direction in which the Grid needs to be scrolled.
  * The fifth argument (**2**) specifies the number of times the vertical scroll operation needs to be performed.
* **Output Value**: {Status}
  * The result of the scrolling operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the grid is scrolled successfully.
    * **False**: If the scrolling operation fails.
* **Logical Explanation**: The **Scroll Vertically** action reads the identification and scrolling details from the **Input Value** column (**Grid;;0;down;2**). The action locates the matching Grid element based on the specified object type and index and performs vertical scrolling in the defined direction for the specified number of times. The execution result of the scrolling operation is stored as (True) in the **{Status}** variable.

<figure><img src="/files/Hcnae1A5Ho8iQmgzsMjD" alt=""><figcaption></figcaption></figure>

### **Example 2: Performing Vertical Scrolling on a Grid Element using Optional Parameters**

In this example, we are explaining how to perform vertical scrolling on a specified Grid element on the web page using optional identification parameters.

* **Action**: Scroll Vertically
* **Input Value**: Grid;Student;0;down;2
  * The first argument (**Grid**) specifies the object type to be identified.
  * The second argument (**Student**) specifies the visible text of the Grid element.
  * The third argument (**0**) specifies the index of the Grid when multiple matching elements are present.
  * The fourth argument (**down**) specifies the direction in which the Grid needs to be scrolled.
  * The fifth argument (**2**) specifies the number of times the vertical scroll operation needs to be performed.
* **Output Value**: {Status}
  * The result of the scrolling operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the grid is scrolled successfully.
    * **False**: If the scrolling operation fails.
* **Logical Explanation**: The **Scroll Vertically** action reads the identification and scrolling details from the **Input Value** column (**Grid;Student;0;down;2**). The action locates the matching Grid element based on the specified object type, visible text, and index and performs vertical scrolling in the defined direction for the specified number of times. The execution result of the scrolling operation is stored as (True) in the **{Status}** variable.

<figure><img src="/files/WFJx9fvIQc9wiUCdGcuh" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.avoautomation.com/avo-assure/actions/web/custom-1/scroll-vertically.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
