命令行抓图
web页面工具,可以方便实行自动化完成截图功能。
第一款是IECapt,官方主页在 http://iecapt.sourceforge.net/,这是一个免费开源的软件,有C++和C#两种语言的版本
下载IEcapt 到C盘就可以在命令行如下使用。对于有些页面会弹出广告或在win2003下需要添加url到信任列表,只要在IECapt --url=http://www.example.org/ --out=localfile.png --silent
添加--silent参数即可
C:\>IECapt --help51Testing软件测试网r9Y{#}xzO I*u.o$P
-----------------------------------------------------------------------------
hEc^o0Usage: IECapt --url=http://www.example.org/ --out=localfile.png51Testing软件测试网jVs*Kq^
~3z5n
-----------------------------------------------------------------------------51Testing软件测试网/Tr7B*z/G-x4UkZ
--help Print this help page and exit
o^
~.HAE1r"ZY0 --url=<url> The URL to capture (http:...|file:...|...)51Testing软件测试网2WD,k#Z*nS8\
--out=<path> The target file (.png|bmp|jpeg|emf|...)51Testing软件测试网8[{W^Z,Eh*a
--min-width=<int> Minimal width for the image (default: 800)
:eFvD}'obu5G0 --max-wait=<ms> Don't wait more than (default: 90000, inf: 0)51Testing软件测试网xO&Vz~]*?
--delay=<ms> Wait after loading (e.g. for Flash; default: 0)
I__H#`'B0 --silent Whether to surpress some dialogs
第二款: Firefox 的插件 PageSaver ,主页是 http://pearlcrescent.com/products/pagesaver/
这个命令会调用系统的 Firefox ,打开指定的网址并截图,如果 Firefox 当时不在运行,这个命令会先打开 Firefox ,截图完成后再关闭 Firefox 。需要注意的是,如果要在命令行下使用这个插件截图,最好关闭火狐浏览器“恢复上次会话”的功能,否则命令行新打开页面时有可能一直停在确认是否打开上次会话的界面。
7F8~ mchZpP0 截图之后图片会被保存在执行命令的当前目录,文件名格式需要在插件的选项面版中设置(专业版可以在截图命令中再指定保存文件名),图片可保存为PNG或JPEG两种格式。这个插件是基于 Firefox 的,截图当然也是通过 Firefox 浏览器渲染的。51Testing软件测试网W}?$J+`(z9Z
51Testing软件测试网'e-{m-l1v3kx|1L需要注意的是只有专业版本才支持命令行,不过是需要钱购买的哦,呵呵51Testing软件测试网g [2bH [q7jM'n@
/~@O!F.A!c~g0 51Testing软件测试网zd_fS9{&S:AR
#Xka(W-O mw9\0第三:linux命令行抓取网页快照-(xvfb+CutyCapt)
!bt'R&f;qV|+f0http://blog.saymoon.com/2009/11/take-snapshot-in-linux-command-line/51Testing软件测试网/UM.v']
tW3\l
目的:
{M)ep4zo2up o*w2l0在一台没有安装X-server的Debian服务器上实现命令行抓取网页快照51Testing软件测试网-R+H Z QL+P,H1R
软件:
- xvfb(在命令行下实现对X-server的模拟,渲染图形进行缓存)-在没有安装X-Server的环境下提供图像渲染
- CutyCapt(模拟浏览器对网页进行下载、HTML、css渲染、Javascript执行,并将最终渲染完成的网页进行快照)- 主力干将
- Qt(CutyCapt是基于此框架开发的)
As&n.hbf)y.u\ A0实践:
E⪙e5e.}"kS\Li06`eF*f+F01.安装CutyCapt 、Qt及相关软件包51Testing软件测试网!Bvf ^4xxS`w
sudo
apt-get
install
subversion libqt4-webkit libqt4-dev g++
svn co https:
//cutycapt
.svn.sourceforge.net
/svnroot/cutycapt
cd
cutycapt
/CutyCapt
qmake
make
2.安装xvb
apt-get
install
xvfb(自动安装不上,对linux不是很熟悉,在这里折腾了很久)
或http://packages.debian.org/zh-cn/lenny/xvfb 下载xvfb包
debian: cd /
debian:dpkg -i /root/xvfb.deb 我是pstfp.exe上传到root目录下
$Y TA:Js9`8cA_i03.测试51Testing软件测试网+v(F F#qMbz
G
51Testing软件测试网dZlKjBSdebian:/cutycapt/CutyCapt# xvfb-run --server-args="-screen 0 1024x768x24" ./CutyCapt --url=http://www.163.com --out=ad.png51Testing软件测试网yLE?d@ CNsv
?%~i
f1C/ds#M0小知识:Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
,M9SSr#h `051Testing软件测试网 }7L'B_.?CentOS属于RedHat版本,Ubuntu属于Debain版本。
G*x*o3oP.f V051Testing软件测试网X
I:P@q!w+wecentOS 参考http://snageyang.iteye.com/blog/1128648
_lb3vuUUo051Testing软件测试网8H`8e'v_*YiOhttp://blog.wangjunfeng.com.cn/index.php/archives/tag/xvfb
:E)A(k2t*j^P$f0`8K2s}7g3X?]0
bJ;c@|0