
Selenium 提供 Web ScreenShot 功能,可以擷取網頁畫面,並包括可見區域及完整網頁兩種模式。網頁擷圖功能原本是用於測試,讓開發者可以幫 Web App 製作一個自動化測試腳本,當測試發生失敗(Exception)時,就可以利用擷圖功能自動捕捉網頁錯誤發生時的畫面。不過使用上有個限制:這個 ScreenShot 功能必須搭配 Firefox 瀏覽器。
由於 Selenium 是 Java-based 的測試工具,因此搭配 Groovy 就可以藉助 Selenium 的 ScreenShot 功能簡單地進行網頁擷圖。
例如本站的其中一個頁面:http://blog.lyhdev.com/p/by-lyhcode.html
使用 Selenium 的完整擷取模式取得畫面:
這個範例每次執行都會先啟動一個 Selenium Server,所以速度比較慢。如果有大量擷圖的需求,可以另以一個 VM 安裝長駐的 Selenium Server 及 Firefox 瀏覽器,就能減少大量截圖所花費的時間。
範例原始碼:
沒有留言:
張貼留言