getShadowRoot(), and locate inner elements via CSS selectors:import org.openqa.selenium.SearchContext;// 1. Locate shadow host element:
WebElement shadowHost = driver.findElement(By.cssSelector("#custom-dropdown-host"));
// 2. Get shadow root context:
SearchContext shadowRoot = shadowHost.getShadowRoot();
// 3. Find element inside shadow root using CSS:
WebElement internalBtn = shadowRoot.findElement(By.cssSelector("button.select-btn"));
internalBtn.click();