2014-03-28 31 views
-2

我要測量網站的加載時間,它不是我自己開發的,我知道從某個地方我必須使用HtmlAgilityPack來衡量HTML內容加載時間。 這裏是我的代碼:如何使用HtmlAgilityPack來衡量html內容的加載時間(包括img,div標籤等)?

Stopwatch stop_w = new Stopwatch(); 
    long time_elap = 0; 
    string url = "http://www.varzesh3.com/"; 
    HtmlWeb web = new HtmlWeb(); 
    HtmlDocument doc = web.Load(url); 
    foreach(HtmlNode node in doc.DocumentNode.SelectNodes("//a")) 
    { 
     stop_w.Start(); 
     lbl1.Text += node.InnerHtml + "<br />"; 
     stop_w.Stop(); 
     time_elap += stop_w.ElapsedMilliseconds; 
    } 

time_elap將返回的HTML內容加載時間。 這是正確的嗎?

+0

號將秒錶左右'web.Load()'。有更好的方法來做到這一點順便說一句,檢查出迷你簡介 – DGibbs

+0

我認爲這是不可能的,它返回154445毫秒的加載時間! –

+0

沒有。閱讀你的代碼,你所做的只是計算將節點內部文本添加到頁面中每個錨點的標籤文本需要多長時間。你想要花費整個頁面加載需要多長時間。因此,在'stop_w.Start()'和'stop_w.Stop()'之間調用'web.Load(url)'調用。 – DGibbs

回答

1

你不需要HtmlAgilityPack來做到這一點。

只需使用WebRequest

Stopwatch sw = new Stopwatch(); 
var request = (HttpWebRequest)WebRequest.Create("http://www.google.com"); 

sw.Start(); 
using (var response = (HttpWebResponse)request.GetResponse()) 
{ 
    //do something 
} 
sw.Stop(); 

Console.Write(string.Format("{0} ms", sw.ElapsedMilliseconds)); 
Console.Read(); 
+0

請注意,我不需要響應時間,我需要整個加載時間,它可能需要至少5秒! –

+0

@Dash_Javad這是整個加載時間。 – DGibbs

+0

但我認爲這不合理,需要不到2秒。 –

相關問題