iFrame
。出于安全原因,在包含iFrame
的网站上呈现屏幕截图是无法实现的。
我也知道他们正在努力支持原生捕获网站截图,但我想要一个跨浏览器的解决方案,而不是依赖于浏览器的可能性。所有这些都在服务器上进行,因此应该可以通过命令行执行。
我现在正在做的是:
- 通过命令行打开浏览器
- 通过命令行切换到浏览器窗口
- 通过命令行进行截屏(在Mac上是screencapture,在Linux上是scrot)
- 最糟糕的解决方案是为每个浏览器硬编码内容相对于窗口的0|0位置。这很糟糕(显而易见的原因)。
- 我想到的另一个解决方案是:告诉浏览器(我可以通过套接字与插件通信)在x:0;y:0;添加类似QR码的东西,将屏幕截图发送到图像处理服务器。之后删除QR码并再次发送屏幕截图。然后我就知道了相对于0|0的每个点,但这也不太优雅。
最好的办法是一个命令行工具,它可以让我确定我想要捕获图像的应用程序的哪一部分。
一个例子是这个Firefox插件或者这个服务器端工具,或者像这些一样提供不同浏览器和操作系统的网站截图的所有工具。我想知道他们如何摆脱特定于浏览器的GUI元素。 补充: 我不知道我是否表述清楚了,但我想要一个特定浏览器内容的屏幕截图,但没有浏览器特定的GUI元素。这意味着运行无头浏览器的应用程序对我没有用处。因为无头浏览器有自己的引擎。我特别想要例如Firefox版本x的屏幕截图。