首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >捕捉浏览器内容的截图(网站)

捕捉浏览器内容的截图(网站)
EN

Stack Overflow用户
提问于 2015-04-09 12:56:34
回答 7查看 8.4K关注 0票数 23

我的目标是有一个网站的形象(是的,就这样简单)。我知道有像html2canvas这样的工具。但是,我不希望客户端浏览器呈现屏幕快照。

原因之一是,我在webview中使用了一个chrome扩展,本质上类似于iFrame。出于安全原因,为包含iFrame的网站呈现屏幕快照不起作用。

我也知道他们正在开发本机支持捕捉网站截图的能力,但是我想要一个跨浏览器的解决方案,而不是依赖于浏览器的可能性。所有这些都发生在服务器上,因此应该通过命令行执行。

我现在要做的是:

  1. 通过命令行打开浏览器
  2. 通过命令行将焦点切换到浏览器窗口
  3. 通过命令行制作屏幕截图( mac上的屏幕,Linux上的scrot )

在这个基本的层次上做它有图像包含状态栏,浏览器插件等的缺点。事实上,我只想拥有实际的网站内容,而不是所有这些特定于应用程序的东西。

  • 最糟糕的解决方案是为每个浏览器的硬编码内容相对于窗口的0~0的位置。这太糟糕了(原因很明显)。
  • 我想出的另一个解决方案是:告诉浏览器(我可以通过套接字与插件对话)在x:0;y:0添加类似QR代码的内容,将屏幕截图发送到图像处理服务器。在此之后,删除QR代码并再次发送屏幕截图。那么,我知道每一点相对于0,x,0,但它也没有那么优雅。

最好的方法是一个命令行工具,它可以让我确定我想要捕获的应用程序的哪个部分。

一个例子是这个火狐插件这个服务器端工具或所有这些工具,提供不同浏览器和操作系统(如 )的网站截图。我想知道他们是如何摆脱浏览器特有的GUI元素的。

加法

我不知道我是否说得够清楚,但是我想要一个特定浏览器的内容的屏幕截图,但是没有浏览器特有的GUI元素。这意味着运行无头浏览器的应用程序对我没有任何用处。因为无头浏览器有自己的引擎。我特别希望有一个屏幕截图,例如火狐版本x。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-04-18 13:07:10

你知道硒吗?它是一个实际打开特定浏览器并运行脚本测试的测试工具。它也可以用来截图。

这可能是你问题的解决方案。

票数 8
EN

Stack Overflow用户

发布于 2015-04-16 21:17:03

奥文森实际上会向下滚动页面,获取实际的屏幕截图,然后将这些图像合并到一个长图像中。您甚至可以将其设置为只捕获页面中显示的部分或选定的部分。

您可以将其与宏类型程序/脚本语言(如汽车热键 )混合使用。您可能会或不可能发现它比使用命令行更容易。我想这取决于你想做什么。

票数 4
EN

Stack Overflow用户

发布于 2015-04-13 14:33:04

大多数服务器端语言只是为HTML服务,而从不呈现它。不久前,我遇到了索引单页javascript应用程序的问题,其中一个解决方案是phantomJS

PhantomJS做你想做的事。您可以呈现HTML (服务端),幻影也内置了画布,所以您可以使用它来截图。幻影是webkit,所以它将覆盖大多数流行的浏览器(Chrome,Safari,Opera)。如果你想在火狐上看到网站的样子,你可以试试SlimerJS (类似于PhantomJs,但运行壁虎引擎)。

这将涵盖所有最流行的浏览器(IE除外)。这仍然是一个无头解决方案,但您可以看到不同的布局引擎。您将需要NodeJS,这可能有点学习,但它们都有屏幕截图的文档。祝好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29539135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档