命令行程序创build网站截图(在Linux上)
什么是一个很好的命令行工具来创buildLinux上的网站截图? 我需要自动生成网站的屏幕截图,无需人工交互。 我发现的唯一工具是khtml2png ,但我不知道是否有其他人不基于khtml(即有良好的JavaScript支持,…)。
多一点细节可能是有用的…
在X会话中启动一个firefox(或其他浏览器),无论是在控制台上还是使用vncserver。 您可以使用--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 ,它似乎是一个免费的Webkit引擎,可以在Linux,OSX和Windows上运行。 我没有使用它,因为我们目前使用Browshot (商业解决scheme),但是当我们所有的信贷用完时,我们将认真地有一个掠夺(因为它是免费的,可以在我们的服务器上运行)
scrot是一个截图截图的命令行工具。 请参阅手册页和本教程 。
您可能也想看看浏览器的脚本。 有Firefox的附加function,如screengrab (可以捕获整个页面,如果你想,而不仅仅是可见的位)的屏幕截图,然后你可以使用greasemonkey脚本浏览器截屏。
我知道它不是一个命令行工具,但你可以很容易地编写脚本来使用http://browsershots.org/不适用于不在外部IP上托pipe的应用程序。;
一个伟大的工具,没有那么less。
请参阅Webkit2png 。
我想这是我过去使用的。
编辑我发现我没有使用上述,但发现这个网页与许多不同的程序和技术的评论。
我不知道任何定制的内置,我敢肯定,可以做一些壁虎引擎渲染到PNG文件,而不是屏幕…
或者,您可以在专用的VNC服务器实例中以全屏模式启动Firefox,并使用截图抓取器截取屏幕截图。 全屏=最小的镶边,VNC服务器实例=没有可见的UI +你可以select你的分辨率。
使用xinit和Xvnc作为X服务器来做到这一点 – 你需要阅读所有的联机帮助页。
缺点是屏幕截图始终是相同的大小,不根据网页的大小调整…
有导入命令,但你需要X和一个打开浏览器窗口的小bash脚本,然后截取屏幕截图并closures浏览器。
你可以在这里find更多的信息,或者只需在shell中inputimport –help ;)
http://khtml2png.sourceforge.net/
deb文件
在安装libkonq4后在我的Ubuntu上工作…但是你可能不得不掩盖其他的依赖关系。
我认为JavaScript的支持可能会更好,现在!
斯蒂芬
不是命令行,但至less用于一批更大的url的批处理操作,你可以使用firefox的插件fireshot(行货版本?)。
- 打开你的设置中的所有url的标签(例如“打开此文件夹中所有书签的标签…”)。
- 然后在fireshot启动“捕获所有标签”
- 在编辑窗口中,然后调用“select所有镜头 – >保存所有镜头”
已经设置截图属性(大小,文件格式等),然后结束一套漂亮的镜头文件。
斯特芬