我想编写打印网页的代码。print()是不够的,因为它只打开浏览器的打印窗口,不会立即打印。此外,我还对控制打印选项感兴趣(例如打印为PDF或特定大小)。
因此,我打开了Chrome的开发工具,打开了打印窗口,复制了保存按钮的js路径,并尝试在我想打印的网页中编写以下代码:
打印()document.querySelector(“body>print-preview-app”).shadowRoot.query选择器(“#sidebar”).shodowRot.querySelecter(“print-preeview-bbutton-strip”).sshadowRoot.querySelector(“div>cr-button.action-button”)click()
我收到一个错误,因为这个元素没有出现在页面上,而是出现在打印窗口中。事实证明,窗口实际上是一个单独的页面(铬://打印/),但在某种程度上,它嵌入到打印页面中,或者看起来与它无关。
我的问题是,在这种情况下,如何在窗口上运行JS?
我的问题与这个问题。问题是关于插件的,问题是访问chrome://页面,因为它们是这样的,而浏览器不允许访问它们。但我正在编写一个常规脚本(不是插件),因此它总是可以访问这些页面。我的问题是,打印窗口不是网站页面的一部分,而是单独显示的。
我将再次澄清。我遇到的问题是访问当前页面以外的页面的HTML。使用插件在技术上应该是可行的,但浏览器会阻止它不同的从如何使用正则脚本的问题开始。
发布脚本。1.也许也可以直接使用Chrome打印的JS,但目前它与我无关。问题是如何访问上述HTML元素。
- 我见过类似的问题(像这个). 我没有看到任何答案。