headless - 如何在 Selenium c# 中为 Headless Browser 处理打印对话框?
问题描述
我正在使用以下代码。
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();
但是它
OpenQA.Selenium.WebDriverException: JavaScript error: Cannot read property 'shadowRoot' of null
在使用无头浏览器时抛出错误:错误。谁能告诉我如何处理无头浏览器的打印对话框。
解决方案
推荐阅读
- android - 无法在 Onclick 事件上的动态添加的编辑文本 android 中设置编辑文本值
- plsql - Oracle 数据库中可以创建多少个视图?
- java - Rest Api - 给定以下输出,正确的 url 格式是什么?
- windows - Maven 3.3.9版本升级windows重启后恢复到以前的版本
- apache-spark - Apache Spark 和 Livy 集群
- python - 我在 pycharm 上遇到 tensorflow 安装错误
- javascript - 比较javascript中的树数据
- r - 无法在 R 3.5.1 中安装包 data.table
- angular - 将 docker 镜像部署到 GAE 以获取角度
- java - 获取此列表中每个数组的大小