2016-10-22 88 views
-1

我怎樣才能捕捉到下載的文件的Webbrowser自動下載(如html的,PNG等).NET WebBrowser控件捕捉下載

例如,如果一個網站通過JavaScript下載一個html文件,每30秒,我怎樣才能使用網頁瀏覽器控制來捕獲這個html?

回答

0

我的做法會

第1步抓住腳本元素的內容(有html文件的路徑變量)

//using HtmlAgilityPack 
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(html); 
//Considering first script tag (you need to check your decentands) 
var script = doc.DocumentNode.Descendants() 
          .Where(n => n.Name == "script") 
          .First().InnerText; 

// Return the data of the spect and stringify it into a proper JSON object 
var engine = new Jurassic.ScriptEngine(); 
var result = engine.Evaluate("(function() { " + script + " return spects; })()"); 
var json = JSONObject.Stringify(engine, result); 

Console.WriteLine(json); 
Console.ReadKey(); 

第2步:在另一個網頁中打開HTML頁面瀏覽器控件或同一瀏覽器控件

WebBrowser wb2 = new WebBrowser(); 
wb2.AllowNavigation = true; 
wb2.Navigate(jsVariableAsString); 

步驟3:保存Web瀏覽器的頁面

var html = wb2.DocumentText.ToString(); 

或wb2.ShowSaveAsDialog();

讓我知道它是否有效。