現(xiàn)在很多瀏覽器或?yàn)g覽器工具欄、插件都提供網(wǎng)頁(yè)截圖的功能,不過(guò)大多數(shù)都需要鼠標(biāo)或鍵盤(pán)手工操作,而不能通過(guò)命令行自動(dòng)化完成。有時(shí)我們可能需要每天定時(shí)對(duì)某些網(wǎng)頁(yè)截圖,或者批量地對(duì)多個(gè)URL截圖,這時(shí)這些的需要手工操作的截圖工具或插件就有一點(diǎn)不夠用了。不過(guò)幸運(yùn)的是,有一些免費(fèi)的可以通過(guò)命令行方式操作的網(wǎng)頁(yè)截屏軟件或?yàn)g覽器插件可以幫我們解決這個(gè)問(wèn)題,下面介紹兩款我經(jīng)常使用的。
第一款是IECapt,官方主頁(yè)在 http://iecapt.sourceforge.net/ ,這是一個(gè)免費(fèi)開(kāi)源的軟件,有C++和C#兩種語(yǔ)言的版本。
這款軟件沒(méi)有GUI,只能在純命令行方式下運(yùn)行,運(yùn)行的命令為:
復(fù)制代碼 代碼如下:
IECapt –url=http://jb51.net/ –out=localfile.png
其中參數(shù) –url 后面跟的是你要截圖的網(wǎng)站的地址,–out 后面跟的是截圖后的圖片文件的保存名。這兩個(gè)參數(shù)是最常用的,另外還有一些參數(shù),比如 –delay ,可以指定頁(yè)面打開(kāi)后過(guò)多少秒再截圖,這在截取某些使用了 Ajax 等延遲加載技術(shù)的頁(yè)面時(shí)非常有用。更多的參數(shù)可以用 IECapt –help 命令來(lái)查看。
這個(gè)軟件很好用,不過(guò)如同它的名字所說(shuō)的,它是基于IE的,這樣一來(lái)基本上也只能在Windows系統(tǒng)上使用。截圖時(shí)它實(shí)際上是在后臺(tái)調(diào)用了本機(jī)上安裝的IE瀏覽器對(duì)頁(yè)面進(jìn)行渲染,一般來(lái)說(shuō),你在IE瀏覽器下看到某個(gè)頁(yè)面是什么樣子,用IECapt截的圖也是那個(gè)樣子。
IECapt的主頁(yè)上還介紹了另一個(gè)跨平臺(tái)的基于 WebKit 引擎的網(wǎng)頁(yè)截圖軟件 CutyCapt ,這個(gè)軟件需要 Qt 庫(kù)的支持,使用方法和 IECapt 幾乎一樣,但是有更多更靈活的參數(shù),這兒就不詳細(xì)介紹了。
要介紹的另一款可以在命令行模式下使用的網(wǎng)頁(yè)截圖工具是 Firefox 的插件 PageSaver ,主頁(yè)是 http://pearlcrescent.com/products/pagesaver/ 。
這個(gè)插件有需要付費(fèi)的專(zhuān)業(yè)版以及免費(fèi)的基本版,對(duì)于一般的命令行截圖來(lái)說(shuō),基本版就足夠了。安裝好以后,它會(huì)在瀏覽器地址欄旁邊添加一個(gè)照相機(jī)圖標(biāo)的按鈕,點(diǎn)擊即可像普通的網(wǎng)頁(yè)截圖插件一樣對(duì)當(dāng)前網(wǎng)頁(yè)進(jìn)行截圖,也可以點(diǎn)擊圖標(biāo)旁的下拉三角做一些設(shè)置,比如設(shè)計(jì)默認(rèn)保存文件名規(guī)則。同時(shí),你可以通過(guò)命令行對(duì)指定URL進(jìn)行截圖,比如:
[code]firefox -saveimage http://jb51.net/[/code]
這個(gè)命令會(huì)調(diào)用系統(tǒng)的 Firefox ,打開(kāi)指定的網(wǎng)址并截圖,如果 Firefox 當(dāng)時(shí)不在運(yùn)行,這個(gè)命令會(huì)先打開(kāi) Firefox ,截圖完成后再關(guān)閉 Firefox 。需要注意的是,如果要在命令行下使用這個(gè)插件截圖,最好關(guān)閉火狐瀏覽器“恢復(fù)上次會(huì)話”的功能,否則命令行新打開(kāi)頁(yè)面時(shí)有可能一直停在確認(rèn)是否打開(kāi)上次會(huì)話的界面。
截圖之后圖片會(huì)被保存在執(zhí)行命令的當(dāng)前目錄,文件名格式需要在插件的選項(xiàng)面版中設(shè)置(專(zhuān)業(yè)版可以在截圖命令中再指定保存文件名),圖片可保存為PNG或JPEG兩種格式。這個(gè)插件是基于 Firefox 的,截圖當(dāng)然也是通過(guò) Firefox 瀏覽器渲染的。
IECapt和Firefox PageSaver,一個(gè)基于 IE,一個(gè)基于 Firefox,兩者結(jié)合,再加上一些自寫(xiě)腳本的補(bǔ)充,基本上可以滿(mǎn)足大部分命令行方式截圖的需求了。
您可能感興趣的文章:- 使用python編寫(xiě)android截屏腳本雙擊運(yùn)行即可
- 基于C#實(shí)現(xiàn)的屏幕指定區(qū)域截屏代碼
- c#不使用系統(tǒng)api實(shí)現(xiàn)可以指定區(qū)域屏幕截屏功能
- c#根據(jù)網(wǎng)址抓取網(wǎng)頁(yè)截屏生成圖片的示例
- Android截屏保存png圖片的實(shí)例代碼
- 解析android截屏問(wèn)題
- 當(dāng)前頁(yè)禁止復(fù)制粘貼截屏代碼小集
- C#實(shí)現(xiàn)網(wǎng)頁(yè)截圖功能
- 對(duì)指定的網(wǎng)頁(yè)進(jìn)行截圖的效果 C#版
- Python中使用 Selenium 實(shí)現(xiàn)網(wǎng)頁(yè)截圖實(shí)例
- jcrop 網(wǎng)頁(yè)截圖工具(插件)開(kāi)發(fā)
- asp.net截屏功能實(shí)現(xiàn)截取web頁(yè)面