WebBrowser不更新DocumentText?

时间:2010-06-29 17:23:15

标签: c# .net

每当我通过HtmlElement.Id将Id分配给某些元素,然后读取WebBrowser.DocumentText属性时,该元素的Id没有分配给它的Id。在我看来,DocumentText是IExplorer对网页的“解释”,丢弃了与页面视觉方面无关的所有内容。我尝试通过HtmlElement.Id获取Id,并且Id是我指定的ID,但我需要的是找到一种从HtmlDocument(.net)映射到HtmlAgilityPack.HtmlDocument的方法,所以我想分配一个唯一的Id对于每个单独的元素,然后每次我想访问特定元素时,使用HtmlAgilityPack读取DocumentText,然后在两侧读取GetElementById。但由于我正在使用DocumentText将Html代码提供给HtmlAgilityPack,因此HtmlAgilityPack没有获得唯一的Id。 我需要从一个映射到另一个的原因是因为我正在创建一个Web Scrapper,它将根据用户的选择更新网页的可视化方面(突出显示内容等),但我需要保留一个原始html的副本做了实际的报废,否则报废将被我对html所做的更改搞砸了。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

也许你需要等待一段时间才能从WebBrowser.DocumentText上的MSDN传递...

“如果您设置此属性的值,然后立即再次检索它,则检索到的值可能与WebBrowser控件没有时间加载新内容时设置的值不同。”

如果你设置一个元素的ID然后立即读取DocumentText属性,也许这也适用?

答案 1 :(得分:0)