在Linux上创建网站截图的好命令行工具是什么?我需要在没有人工交互的情况下自动生成网站的屏幕截图.我找到的唯一工具是khtml2png,但我想知道是否有其他不基于khtml(即有良好的JavaScript支持,......).
更多细节可能有用......
在控制台上或使用vncserver在X会话中启动firefox(或其他浏览器).您可以使用--height
和--width
选项将窗口大小设置为全屏.另一个firefox命令可用于设置第一个firefox窗口中显示的URL.现在,您可以使用以下几个命令之一来获取屏幕图像,例如Imagemagick包中的"import"命令,或使用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和Windows上运行的免费scritable Webkit引擎.我没有使用它,因为我们目前使用的是Browshot(商业解决方案),但是当我们所有的信用都用完之后,我们会认真对待它(因为它是免费的,可以在我们的服务器上运行)
scrot是一个用于截取屏幕截图的命令行工具.请参见手册页和本教程.
您可能还想查看浏览器的脚本.有一些firefox附加组件可以截取诸如screengrab之类的屏幕截图(如果你需要它可以捕获整个页面,而不仅仅是可见位),然后你可以使用greasemonkey编写浏览器脚本以截取屏幕截图.