我可以通过命令行截图一个网站吗?

1 投票
5 回答
537 浏览
提问于 2025-04-16 07:49

我正在为一个网站的数据库接口写文档。有没有办法写一个脚本,执行后可以获取网站的最新快照,并把它保存为一张图片文件呢?

注意:我使用了ruby、bash和python这些标签,因为这是我们小组使用的编程语言(还有R和FORTRAN;为了好玩,如果有人能提供FORTRAN的解决方案,我会设定100分的奖励)。

更新:正如@birryree提到的,之前有一个问题提供了答案。考虑到FORTRAN的提议只是为了好玩,也许这算是重复的问题?

5 个回答

2

这可以通过selenium来实现。首先,你需要设置seleniumrc。然后,使用任何语言的API,调用captureScreenshot()这个方法。下面是一个用Java写的例子:

http://www.cloudtesting.com/blog/2009/06/24/capturing-screen-shots-of-browsers-with-selenium-and-cloud-testing-part-1/

需要注意的是,selenium需要一个显示器来渲染画面,但你也可以在Linux上使用像Xvfb这样的虚拟帧缓冲区(通常默认会安装)。

我还推荐使用seleniumIDE这个Firefox插件,因为它基本上可以为你用任何语言写代码。

2

CutyCapt(命令行工具)表现得很好。

CutyCapt --url=http://www.example.org --out=example.png
3

WkHTMLtoPDF 是一个工具,它可以把网页转换成 PDF 文件,同时它也有一些程序可以把网页变成图片,这些程序使用了 webkit 的渲染引擎。

撰写回答