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