2016-10-22 1 views
-1

그 WebBrowser를 자동으로 예를 들어.NET WebBrowser 컨트롤 캡처 다운로드

(예 : .html 중에서, PNG 등) 다운로드 웹 사이트는 자바 스크립트를 통해 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); 
단계 :

var html = wb2.DocumentText.ToString(); 

또는 wb2.ShowSaveAsDialog (웹 브라우저의 페이지를 저장);

작동하는지 알려주세요.