有没有办法使用httpwebrequest通过ID获取元素?

时间:2012-01-03 18:01:57

标签: vb.net httpwebrequest

我理解httpwebrequest的基础知识,我不会在网络浏览器上寻找任何答案。我以前的方法是使用webbrowsers完成的,但由于速度不足,我已转移到httpwebrequest以加快进程。

我有一个我希望在httpwebrequest中使用的元素的id,但不知道我从哪里开始。

由于

1 个答案:

答案 0 :(得分:0)

好的,所以要明确:你不能从HttpWebRequest中获取一个元素,你必须从HttpWebResponse获取它(因为这是获取HTML的地方)。

  1. HttpWebResponse为您提供了对响应流的访问权限,您可以通过调用GetResponseStream()获取该响应流。
  2. 实例化HtmlDocument(我建议你使用HTMLAgilityPack库。)
  3. 使用XPath通过以下方式执行以下操作来获取元素: var nodes = htmlDoc.DocumentNode.SelectNodes("//*[@id='myname']");
  4. 我不记得确切,但也可能有一种通过ID获取元素的方法:

    htmlDoc.GetElementById("myname");

    然后你可以遍历节点并做你需要做的任何事情。

    这是另一个例子:http://blogs.msdn.com/b/joshch/archive/2006/12/10/better-html-parsing-and-validation-with-htmlagilitypack.aspx