通过C#中的WebBrowser控件获取HTML源代码

我尝试以下列方式获取HTML Source:

webBrowser1.Document.Body.OuterHtml; 

但它不起作用。 例如,如果原始HTML源是:

   

webBrowser1.Document.Body.OuterHtml的输出是:

    

如你所见,许多

都丢失了。

有没有办法正确地在WebBrower控件中获取HTML源代码? 请注意,在我的应用程序中,我尝试使用WebBrowser向每个节点添加坐标信息,并使用坐标信息输出其HTML源,该坐标信息作为节点的属性添加。

任何人都可以帮我一个忙吗?

尝试使用DocumentText或DocumentStream属性。

谢谢你们。 我的最终解决方案是:首先,使用body.outlineHtml获取html源代码。 因为body.outlineHtml可能会错过

  • 结束标记,所以第二步是使用整洁来修复HTML源代码。 在这些之后,我们可以毫无错误地获取HTML源代码

    你试过WebBrowser1.DocumentText吗?

    如果你想获取WebBrowser控件的整个HTML源代码,那么使用它 – WebBrowser1.Document.GetElementsByTagName(“HTML”)。Item(0).OuterHtml。 当然,这假设您具有格式正确的HTML并且HTML标记存在。 如果您想将其缩小到仅仅是正文,那么显然将HTML标记更改为BODY标记。 这样,您可以在设置“DocumentText”后抓取任何和所有更改。 对不起,我是一个VB人,根据需要进行转换;)

    看看这个。 MSDN上的WebBrowser

    另外你可以使用System.Net中的Webclient.DownloadString (它也有WebClient.DownloadStringAsync …)这是描述: MSDN上的WebClient