I am using the following code.
IJavaScriptExecutor js = (IJavaScriptExecutor)Browser.WebDriver;
js.ExecuteScript("setTimeout(function() { window.print(); }, 0);");
Browser.WebDriver.SwitchTo().Window(Browser.WebDriver.WindowHandles.Last());
string JSPath = "document.querySelector('body>print-preview-app').shadowRoot.querySelector('#sidebar').shadowRoot.querySelector('print-preview-button-strip').shadowRoot.querySelector('cr-button.cancel-button')";
IWebElement cancelBtn = (IWebElement)js.ExecuteScript($"return {JSPath}");
cancelBtn.Click();
However it is throwing the Error:
OpenQA.Selenium.WebDriverException: JavaScript error: Cannot read property 'shadowRoot' of null error when using Headless Browser.
Can anyone tell me how I can handle Print dialog for headless browser.