Package: geb.navigator

## [Groovy] Interface BasicLocator

-     interface BasicLocator

  Defines element search operations that are sufficient to be able to implement a Locator on top of.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static String` | `DYNAMIC_ATTRIBUTE_NAME` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `abstract Navigator` | `find(By bySelector)` Creates a new Navigator instance containing the elements matching the given `By` type selector.
    `` | `abstract Navigator` | `find(By bySelector, int index)` Creates a new Navigator instance containing the elements matching the given `By` type selector and index.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, By bySelector)` Creates a new Navigator instance containing the elements matching the given `By` type selector and attributes.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, int index)` Selects elements by both CSS attributes and index.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, Range<Integer> range)` Selects elements by both CSS attributes and range.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, By bySelector, int index)` Creates a new Navigator instance containing the elements matching the given `By` type selector, attributes and index.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, By bySelector, Range<Integer> range)` Creates a new Navigator instance containing the elements matching the given `By` type selector, attributes and range.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, String selector)` Selects elements by both CSS selector and attributes.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, String selector, int index)` Selects elements by both CSS selector and attributes.
    `` | `abstract Navigator` | `find(Map<String, Object> attributes, String selector, Range<Integer> range)` Selects elements by both CSS selector and attributes.

- - ### Field Detail

    - #### public static final String DYNAMIC_ATTRIBUTE_NAME

  - ### Method Detail

    - #### abstract Navigator find(By bySelector)

      Creates a new Navigator instance containing the elements matching the given `By` type selector. Any `By` type capabilities supported by the underlying WebDriver instance are supported.

      Parameters:
        `bySelector` - a WebDriver By selector
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(By bySelector, int index)

      Creates a new Navigator instance containing the elements matching the given `By` type selector and index. Any `By` type capabilities supported by the underlying WebDriver instance are supported.

      Parameters:
        `bySelector` - a WebDriver By selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `index` - index of the required element in the selection
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, By bySelector)

      Creates a new Navigator instance containing the elements matching the given `By` type selector and attributes. Any `By` type capabilities supported by the underlying WebDriver instance are supported.

      Parameters:
        `bySelector` - a WebDriver By selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, int index)

      Selects elements by both CSS attributes and index. For example find(name: "firstName", 1) will select second element with the name attribute of "firstName".

      Parameters:
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `index` - index of the required element in the selection
      Returns:
        a new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, Range<Integer> range)

      Selects elements by both CSS attributes and range. For example find(name: "firstName", 1..2) will select second and third element with the name attribute of "firstName".

      Parameters:
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `range` - range of the required elements in the selection
      Returns:
        a new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, By bySelector, int index)

      Creates a new Navigator instance containing the elements matching the given `By` type selector, attributes and index. Any `By` type capabilities supported by the underlying WebDriver instance are supported.

      Parameters:
        `bySelector` - a WebDriver By selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `index` - index of the required element in the selection
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, By bySelector, Range<Integer> range)

      Creates a new Navigator instance containing the elements matching the given `By` type selector, attributes and range. Any `By` type capabilities supported by the underlying WebDriver instance are supported.

      Parameters:
        `bySelector` - a WebDriver By selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `range` - range of the required elements in the selection
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, String selector)

      Selects elements by both CSS selector and attributes. For example find("input", name: "firstName") will select all input elements with the name "firstName".

      Parameters:
        `selector` - a CSS selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
      Returns:
        a new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, String selector, int index)

      Selects elements by both CSS selector and attributes. For example find("input", name: "firstName", 1) will select second input element with the name "firstName".

      Parameters:
        `selector` - a CSS selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `index` - index of the required element in the selection
      Returns:
        a new Navigator instance containing the matched elements

    - #### abstract Navigator find(Map<String, Object> attributes, String selector, Range<Integer> range)

      Selects elements by both CSS selector and attributes. For example find("input", name: "firstName", 1..2) will select second and third input element with the name "firstName".

      Parameters:
        `selector` - a CSS selector
        `attributes` - a Map with keys representing attributes and values representing required values or patterns
        `range` - range of the required elements in the selection
      Returns:
        a new Navigator instance containing the matched elements