Package: geb.navigator

## [Groovy] Interface Locator

- geb.navigator.BasicLocator

- All Superinterfaces:
    BasicLocator

      interface Locator
      extends BasicLocator

  Allows to create Navigators by selecting WebElements using different criteria (CSS selectors, attribute maps, indexes, ranges and By selectors).

- - ### Field Summary

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

  - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `interface BasicLocator` | `DYNAMIC_ATTRIBUTE_NAME`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `abstract Navigator` | `$(String selector)` Shorthand for `find(selector)`
    `` | `abstract Navigator` | `$(String selector, int index)` Shorthand for `find(selector, index)`.
    `` | `abstract Navigator` | `$(String selector, Range<Integer> range)` Shorthand for `find(selector, range)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, By bySelector)` Shorthand for `find(predicates, bySelector)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, By bySelector, int index)` Shorthand for `find(predicates, bySelector, index)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, By bySelector, Range<Integer> range)` Shorthand for `find(predicates, bySelector, range)`
    `` | `abstract Navigator` | `$(By bySelector)` Shorthand for `find(bySelector)`
    `` | `abstract Navigator` | `$(By bySelector, int index)` Shorthand for `find(bySelector, index)`.
    `` | `abstract Navigator` | `$(By bySelector, Range<Integer> range)` Shorthand for `find(bySelector, range)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes)` Shorthand for `find(predicates)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, int index)` Shorthand for `find(predicates, index)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, Range<Integer> range)` Shorthand for `find(predicates, range)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, String selector)` Shorthand for `find(predicates, selector)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, String selector, int index)` Shorthand for `find(predicates, selector, index)`
    `` | `abstract Navigator` | `$(Map<String, Object> attributes, String selector, Range<Integer> range)` Shorthand for `find(predicates, selector, range)`
    `` | `abstract Navigator` | `find(String selector)` Shorthand for `find(null, selector, null)`
    `` | `abstract Navigator` | `find(Map<String, Object> attributes)` Creates a new Navigator instance containing the elements whose attributes match the specified values or patterns.
    `` | `abstract Navigator` | `find(String selector, int index)` Shorthand for `find(selector)[indexOfElement]`.
    `` | `abstract Navigator` | `find(String selector, Range<Integer> range)` Shorthand for `find(null, selector, range)`
    `` | `abstract Navigator` | `find(By bySelector, Range<Integer> range)` Shorthand for `find(null, bySelector, range)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface BasicLocator` | `find, find, find, find, find, find, find, find, find, find`

- - ### Field Detail

    - #### public static final String MATCH_ALL_SELECTOR

  - ### Method Detail

    - #### abstract Navigator $(String selector)

      Shorthand for `find(selector)`

      Returns:
        new Navigator
      See Also:
        find(java.lang.String)

    - #### abstract Navigator $(String selector, int index)

      Shorthand for `find(selector, index)`.

      Parameters:
        `selector` - a CSS selector
        `index` - index of the required element in the selection
      Returns:
        new Navigator instance containing a single element
      See Also:
        find(java.lang.String, int)

    - #### abstract Navigator $(String selector, Range<Integer> range)

      Shorthand for `find(selector, range)`

      Parameters:
        `selector` - The css selector
      Returns:
        new Navigator

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

      Shorthand for `find(predicates, bySelector)`

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

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

      Shorthand for `find(predicates, bySelector, index)`

      Parameters:
        `bySelector` - a WebDriver By selector
      Returns:
        new Navigator

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

      Shorthand for `find(predicates, bySelector, range)`

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

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

      Shorthand for `find(bySelector)`

      Parameters:
        `bySelector` - a WebDriver By selector
      Returns:
        new Navigator
      See Also:
        BasicLocator.find

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

      Shorthand for `find(bySelector, index)`.

      Parameters:
        `bySelector` - a WebDriver By selector
        `index` - index of the required element in the selection
      Returns:
        new Navigator instance containing a single element
      See Also:
        BasicLocator.find

    - #### abstract Navigator $(By bySelector, Range<Integer> range)

      Shorthand for `find(bySelector, range)`

      Parameters:
        `bySelector` - a WebDriver By selector
      Returns:
        new Navigator

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

      Shorthand for `find(predicates)`

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

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

      Shorthand for `find(predicates, index)`

      Returns:
        new Navigator

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

      Shorthand for `find(predicates, range)`

      Parameters:
        `predicates` - attribute predicates
        `predicates` - range the range of matches to select
      Returns:
        new Navigator

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

      Shorthand for `find(predicates, selector)`

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

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

      Shorthand for `find(predicates, selector, index)`

      Returns:
        new Navigator

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

      Shorthand for `find(predicates, selector, range)`

      Parameters:
        `selector` - a CSS selector
      Returns:
        new Navigator instance containing the matched elements

    - #### abstract Navigator find(String selector)

      Shorthand for `find(null, selector, null)`

      Returns:
        new Navigator

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

      Creates a new Navigator instance containing the elements whose attributes match the specified values or patterns. The key 'text' can be used to match the text contained in elements. Regular expression Pattern objects may be used as values.

      Examples:

      find(name: "firstName")
        selects all elements with the name "firstName"
      find(name: "firstName", readonly: "readonly")
        selects all elements with the name "firstName" that are read-only
      find(text: "I can has cheezburger")
        selects all elements containing the exact text
      find(text: ~/I can has.+/)
        selects all elements whose text matches a regular expression
      Parameters:
        `predicates` - 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(String selector, int index)

      Shorthand for `find(selector)[indexOfElement]`.

      Parameters:
        `selector` - a CSS selector
        `index` - index of the required element in the selection
      Returns:
        new Navigator instance containing a single element

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

      Shorthand for `find(null, selector, range)`

      Parameters:
        `selector` - The css selector
      Returns:
        new Navigator

    - #### abstract Navigator find(By bySelector, Range<Integer> range)

      Shorthand for `find(null, bySelector, range)`

      Parameters:
        `bySelector` - a WebDriver By selector
      Returns:
        new Navigator