Shadow DOM - Workaround to create Selenium IDE Scripts
Disclaimer:
The technics described in the document are intended to workaround a Selenium IDE limitation. They may not apply to all Shadow DOM cases.
The DOM is a hierarchical representation (tree) describing the elements (nodes) that compose a web page. This is used by the browser to render the web page (i.e. the web UI). A shadow DOM is a technology allowing to "hide" DOM trees in another DOM tree. The document tree (top level DOM) can encapsulate several shadow trees. Shadow trees themselves can encapsulate other shadow trees.
In both cases, the nodes in a shadow tree are not directly accessible from their parent tree. The parent only "sees" the shadow host node: the node the shadow root is attached to.