2013-01-13 144 views
2

有什麼辦法從c#應用程序中獲取瀏覽器中打開網頁的元素或控件的內容?使用C#獲取網頁元素的內容使用C#

我試圖讓窗口前,但我不知道如何使用它之後有任何形式的溝通。我也試過這段代碼:

using (var client = new WebClient()) 
{ 
    var contents = client.DownloadString("http://www.google.com"); 
    Console.WriteLine(contents); 
} 

這段代碼給了我很多我無法使用的數據。

回答

4

你可以使用一個HTML解析器,如HTML Agility Pack提取你是從你下載的HTML感興趣的信息:

using (var client = new WebClient()) 
{ 
    // Download the HTML 
    string html = client.DownloadString("http://www.google.com"); 

    // Now feed it to HTML Agility Pack: 
    HtmlDocument doc = new HtmlDocument(); 
    doc.LoadHtml(html); 

    // Now you could query the DOM. For example you could extract 
    // all href attributes from all anchors: 
    foreach(HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) 
    { 
     HtmlAttribute href = link.Attributes["href"]; 
     if (href != null) 
     { 
      Console.WriteLine(href.Value); 
     } 
    } 
}