2016-10-22 4 views
-1

Wie kann ich die heruntergeladenen Dateien erfassen, die Web-Browser automatisch heruntergeladen (wie .html, png, etc.).NET Web-Browser Kontrolleinfangstelle Downloads

Zum Beispiel, wenn eine Website lädt eine HTML-Datei alle 30 Sekunden über Javascript , wie kann ich diesen HTML-Code mithilfe der Webbrowser-Steuerung erfassen?

Antwort

0

Mein Ansatz

Schritt 1 Greifen Sie den Inhalt des Drehbuchs Element sein wird (die Variable, die HTML-Dateipfad haben)

//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(); 

Schritt 2: Öffnen Sie die HTML-Seite in einer anderen Web Browser-Steuerung oder gleiche Browser-Steuerung

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

Schritt 3: Speichern Sie die Seite des Web-Browsers

var html = wb2.DocumentText.ToString(); 

oder wb2.ShowSaveAsDialog();

Lassen Sie mich wissen, ob es funktioniert.

Verwandte Themen