譯 使用PhantomJS進行網頁剪報

2022-02-09 01:40:48 字數 1042 閱讀 9482

原文:

phantomjs的乙個主要用途就是用來抓取網頁並將它渲染成.在渲染時有很多選項可供調整,其中最常用的乙個就是縮放選項(調整zoomfactor屬性的值),它經常會被用在製作縮圖的場景下.另外乙個不怎麼被人熟知的選項就是"按指定矩形區域渲染"選項(調整cliprect

屬性的值),也就是生成的只包含了目標網頁中被指定的那部分區域.

這種只渲染頁面指定矩形區域的需求通常表現為你只想獲取頁面中某個特定元素的內容(就像getboundingclientrect的作用一樣).這種截圖需求可以很方便的使用casperjs提供的captureselector函式來實現.

另外一種情況就是你想將乙個比較長的頁面分割成兩張分別渲染,經常是在檢視移動**的時候,下面的演示了渲染bbc**時的分割效果.

用來生成這兩張的指令碼就在下面.

var page = require(

'webpage'

).create()

;page.settings.useragent

='webkit/534.46 mobile/9a405 safari/7534.48.3'

;page.settings.viewportsize=;

page.open

('',function

(status)

else

;page.render

('bbc-page1.png');

page.cliprect=;

page.render

('bbc-page2.png');

phantom.exit()

;},2000);

}});

**非常簡單,尤其是如果你已經熟悉了phantomjs的這幾個截圖用例的情況下.改變ua字串是為了確保抓取到的頁面是移動版頁面.生成的兩張,分別對應了使用者將要看到的第一屏頁面和第二屏頁面.這都是通過調整所要擷取矩形區域的top偏移量來控制的,非常方便!

譯 使用Ninject進行簡單依賴注入

那些最好的程式能夠容納不斷變化的需求,當然,要求程式滿足所有需求卻難如登天。這就是該依賴注入發揮作用的時候了.依賴注入的最終目的是達到松耦合,而松耦合可以讓程式在不重新編譯的情況下通過配置程式來改變程式的某些部分。下面通過乙個demo來展現ninject 我們建立乙個汽車模擬器程式,所有的汽車都需要...

使用Charles進行弱網測試

1 各個網路下功能測試 低於2g速率的時候都屬於弱網,3g也可劃分為弱網,一般wi fi不劃入弱網測試範疇。1 sim卡的網路切換 手機 設定 流動網路設定 網路型別選擇 3g 4g卡都可以設定關閉3g 4g,只走2g網路。2 具體弱網場景測試,常見場景包括 地鐵 巴士 電梯 樓梯間 停車場 3 使...

弱網測試 使用fiddler進行弱網測試

資料源於 弱網測試原理以及方法 一 一 為什麼要進行弱網測試?按照移動特性,各種網路連線協議不同,導致通訊的訊號不同,速率也不同,影響應用的載入時間 可用性 穩定性 二 什麼樣的網路屬於弱網?低於2g速率的時候都屬於弱網也可以將3g劃分為弱網 一般wifi不納入弱網測試範圍。三 如何進行弱網測試?1...