# Class ShadowRootPromise

Implement ShadowRootPromise

#### Hierarchy

- Promise<ShadowRoot>
- ShadowRoot
  - ShadowRootPromise

#####
Index

### Constructors

constructor

### Properties

[toStringTag]

### Methods

catch
execute_
finally
findElement
findElements
getId
serialize
then
extractId
isId

## Constructors

### constructor

- new ShadowRootPromise(driver, shadow): ShadowRootPromise

- #### Parameters

  - ##### driver: WebDriver

    The parent WebDriver instance for this element.

  - ##### shadow: Promise<ShadowRoot>

    A promise that will resolve to the promised element.

  #### Returns ShadowRootPromise

  Inherited from ShadowRoot.constructor

## Properties

### `Readonly` [toStringTag]

[toStringTag]: string

Inherited from Promise.[toStringTag]

## Methods

### catch

- catch<TResult>(onrejected?): Promise<ShadowRoot | TResult>

- Attaches a callback for only the rejection of the Promise.

  #### Type Parameters

  - #### TResult = never

  #### Parameters

  - ##### `Optional` onrejected: null | ((reason) => TResult | PromiseLike<TResult>)

    The callback to execute when the Promise is rejected.

  #### Returns Promise<ShadowRoot | TResult>

  A Promise for the completion of the callback.

  Inherited from Promise.catch

### execute_

- execute_<T>(command): Promise<T>

- Schedules a command that targets this element with the parent WebDriver instance. Will ensure this element's ID is included in the command parameters under the "id" key.

  #### Type Parameters

  - #### T

  #### Parameters

  - ##### command: Command

    The command to schedule.

  #### Returns Promise<T>

  A promise that will be resolved with the result.

  #### See

  WebDriver#schedule

  Inherited from ShadowRoot.execute_

### finally

- finally(onfinally?): Promise<ShadowRoot>

- Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The resolved value cannot be modified from the callback.

  #### Parameters

  - ##### `Optional` onfinally: null | (() => void)

    The callback to execute when the Promise is settled (fulfilled or rejected).

  #### Returns Promise<ShadowRoot>

  A Promise for the completion of the callback.

  Inherited from Promise.finally

### findElement

- findElement(locator): WebElementPromise

- Schedule a command to find a descendant of this ShadowROot. If the element cannot be found, the returned promise will be rejected with a error.NoSuchElementError NoSuchElementError.

  The search criteria for an element may be defined using one of the static factories on the by.By class, or as a short-hand ./by.ByHash object. For example, the following two statements are equivalent:

      var e1 = shadowroot.findElement(By.id('foo'));
      var e2 = shadowroot.findElement({id:'foo'});

  You may also provide a custom locator function, which takes as input this instance and returns a WebElement, or a promise that will resolve to a WebElement. If the returned promise resolves to an array of WebElements, WebDriver will use the first element. For example, to find the first visible link on a page, you could write:

      var link = element.findElement(firstVisibleLink);

      function firstVisibleLink(shadowRoot) {
        var links = shadowRoot.findElements(By.tagName('a'));
        return promise.filter(links, function(link) {
          return link.isDisplayed();
        });
      }

  #### Parameters

  - ##### locator: Locator

    The locator strategy to use when searching for the element.

  #### Returns WebElementPromise

  A WebElement that can be used to issue commands against the located element. If the element is not found, the element will be invalidated and all scheduled commands aborted.

  Inherited from ShadowRoot.findElement

### findElements

- findElements(locator): Promise<WebElement[]>

- Locates all of the descendants of this element that match the given search criteria.

  #### Parameters

  - ##### locator: Locator

    The locator strategy to use when searching for the element.

  #### Returns Promise<WebElement[]>

  A promise that will resolve to an array of WebElements.

  Inherited from ShadowRoot.findElements

### getId

- getId(): Promise<string>

- #### Returns Promise<string>

  Inherited from ShadowRoot.getId

### serialize

- serialize(): Promise<IWebElementId>

- #### Returns Promise<IWebElementId>

  Inherited from ShadowRoot.serialize

### then

- then<TResult1, TResult2>(onfulfilled?, onrejected?): Promise<TResult1 | TResult2>

- Attaches callbacks for the resolution and/or rejection of the Promise.

  #### Type Parameters

  - #### TResult1 = ShadowRoot

  - #### TResult2 = never

  #### Parameters

  - ##### `Optional` onfulfilled: null | ((value) => TResult1 | PromiseLike<TResult1>)

    The callback to execute when the Promise is resolved.

  - ##### `Optional` onrejected: null | ((reason) => TResult2 | PromiseLike<TResult2>)

    The callback to execute when the Promise is rejected.

  #### Returns Promise<TResult1 | TResult2>

  A Promise for the completion of which ever callback is executed.

  Inherited from Promise.then

### `Static` extractId

- extractId(obj): string

- Extracts the encoded ShadowRoot ID from the object.

  #### Parameters

  - ##### obj: any

    The object to extract the ID from.

  #### Returns string

  the extracted ID.

  #### Throws

  if the object is not a valid encoded ID.

  Inherited from ShadowRoot.extractId

### `Static` isId

- isId(obj): boolean

- #### Parameters

  - ##### obj: any

    the object to test.

  #### Returns boolean

  whether the object is a valid encoded WebElement ID.

  Inherited from ShadowRoot.isId

Generated using TypeDoc