Represents a ShadowRoot of aWebElement. Provides functions to retrieve elements that live in the DOM below the ShadowRoot.
Schedule a command to find a descendant of this ShadowROot. If the element cannot be found, the returned promise will be rejected with a 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 aWebElement, 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(); });}| Name | Type | Description |
|---|---|---|
locator | by. | The locator strategy to use when searching for the element. |
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.
Locates all the descendants of this element that match the given search criteria.
| Name | Type | Description |
|---|---|---|
locator | by. | The locator strategy to use when searching for the element. |
A promise that will resolve to an array of WebElements.
Extracts the encoded ShadowRoot ID from the object.
| Name | Type | Description |
|---|---|---|
obj | ? | The object to extract the ID from. |
if the object is not a valid encoded ID.
the extracted ID.
| Name | Type | Description |
|---|---|---|
obj | ? | the object to test. |
whether the object is a valid encoded WebElement ID.