Shadow Root DOM and Custom HTML Tags Automation Using Selenium

In this article, we will try to solve a multi-level shadow DOM automation problem using an open-source GitHub project that will let you test multi-level shadow DOM elements in your Java Selenium project. We will use Chrome as the main browser for testing this feature since Chrome v53+ fully supports shadow DOM.

Now let's talk about how this all started. I was working with a project that works on a workflow automation tool called Frevvo. In one of the improvements, we started using the Google Polymer framework that creates shadow DOM elements. As our automation framework was developed with Java Selenium, we were stuck, as the Selenium tool was not able to find elements under the shadow DOM.