获取页面源以获取ID或标记名称的可能方法

时间:2012-05-11 11:36:02

标签: c# html forms

我一直在使用WebBrowser.Document来获取某些元素,例如id,tag或div ......但似乎WebBrowser似乎太慢而无法处理许多URL地址......任何想法?

2 个答案:

答案 0 :(得分:0)

您可以尝试包含一些开源浏览器并将其包含在代码中

http://duckwebbrowser.codeplex.com/

http://xplora.codeplex.com/

答案 1 :(得分:0)

  

我一直在使用WebBrowser.Document获取某些元素,例如id,tag或div。

从你的问题的标题和内容中,从这个声明中不清楚你需要使用获取,解析和呈现HTML的Control。

听起来你只是为了获取和解析你的HTML。如果这是真的,您应该使用Html Agility Pack。 HAP可以从URL获取HTML,然后解析它。然后,您可以使用linq或XPath或遍历方法来获取标记和div。

有很多关于如何使用像How to use HTML Agility pack这样的文章的文章,其中包括示例和链接。

the links中的一个包括Farooq Kaiser的这个例子,它获取文档中的所有链接并将其添加到“List”

HtmlDocument doc = new HtmlDocument();
doc.Load(url);
HtmlNode root = doc.DocumentNode;

List<string> anchorTags = new List<string>();

foreach (HtmlNode link in root.SelectNodes("//a"))
{
    string att = link.OuterHtml;
    anchorTags.Add(att);
}