什么是一个很好的命令行的工具,以创建网站的截图在Linux上?我需要自动生成的截图的网站,没有人类的相互作用。唯一的工具,我发现了 khtml2png, 但是我想知道是否有其他人,不是基于khtml(即有好JavaScript support,...).

有帮助吗?

解决方案

更多细节可能有用......

在X会话中启动firefox(或其他浏览器),可以是在控制台上,也可以是使用vncserver。您可以使用 - height - width 选项将窗口大小设置为全屏。另一个firefox命令可用于设置第一个firefox窗口中显示的URL。现在,您可以使用以下几个命令之一来抓取屏幕图像,例如“导入”按钮。来自Imagemagick包的命令,或使用gimp,或fbgrab,或xv。

#!/bin/sh

# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768

# start firefox in this vnc session
firefox --display :11

# read URLs from a data file in a loop
count=1
while read url
do
    # send URL to the firefox session
    firefox --display :11 $url

    # take a picture after waiting a bit for the load to finish
    sleep 5
    import -window root image$count.jpg

    count=`expr $count + 1`
done < url_list.txt

# clean up when done
vncserver -kill :11

其他提示

尝试使用 CutyCapt 的小工具,它仅依赖于Qt和QtWebkit。 ;)

查看 PhantomJS ,它似乎是一个在Linux,OSX上运行的免费scritable Webkit引擎和Windows。我没有使用它,因为我们目前使用的是 Browshot (商业解决方案),但是当我们所有的积分用完时,我们将会认真对待它(因为它是免费的,可以在我们的服务器上运行)

scrot 是一个截取屏幕截图的命令行工具。请参阅手册页教程

您可能还想查看浏览器的脚本。有一些firefox附加组件可以截取屏幕截图,例如 screengrab (其中可以根据需要捕获整个页面,而不仅仅是可见位),然后您可以使用 greasemonkey来编写浏览器脚本截取屏幕截图。

请参阅 Webkit2png

我认为这是我过去使用过的。

编辑我发现我没有使用上述内容,但发现此页面,评论了许多不同的程序和技术。

我知道它不是命令行工具,但你可以轻松编写一些内容来使用 http://browsershots.org/ 对于没有托管在外部IP上的应用程序没有那么有用。

一个很棒的工具。

我不知道有什么自定义构建的,我确信可以用gecko引擎做一些事情来渲染到png文件而不是屏幕......

或者,您可以在专用VNC服务器实例中以全屏模式启动firefox,并使用屏幕截图抓取器截取屏幕截图。全屏=最小化铬,VNC服务器实例=没有可见的UI +您可以选择您的分辨率。

使用xinit和Xvnc作为X服务器来执行此操作 - 您需要阅读所有联机帮助页。

缺点是屏幕截图总是大小相同,不会根据网页调整大小...

导入命令,但您需要X和一个打开浏览器窗口的小bash脚本,然后截取屏幕截图并关闭浏览器。

您可以在此处找到更多信息,或者只需输入 import --help 在shell中;)

http://khtml2png.sourceforge.net/

Deb文件

曾在我的Ubuntu安装后libkonq4...但你可能已经涵盖的其他依赖关系。

我认为javascript支持可能是更好的现在!

斯蒂芬

不适用于命令行,但至少在批处理操作中使用更大的网址集时,你可以使用firefox及其插件fireshot(许可版本?)。

  1. 打开您论坛中所有网址的标签页(例如“此文件夹中所有书签的”打开标签页......“)。
  2. 然后在fireshot发布中“捕获所有标签”
  3. 在编辑窗口中,然后调用“选择所有镜头 - &gt;保存所有镜头“
  4. 在您使用一组精美的镜头文件结束之前设置了屏幕截图属性(大小,文件格式等)。

    斯特芬

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top