C# 从另一个应用程序中的webbrowser控件获取documentdata

C# 从另一个应用程序中的webbrowser控件获取documentdata,c#,webbrowser-control,hook,C#,Webbrowser Control,Hook,我正在寻找一种方法,从另一个应用程序webbrowser控件获取文档信息或文档文本,并可能对其进行更改。 另一个应用程序是用.net编写的,但不是我自己编写的 我正在寻找这样的能力: 我希望OnDocumentCompleted的eventhandler可以为我获取该文档的信息。 如果可能的话,我还想截取某些页面,添加一些html,并将它们发送回要显示的第二个应用程序。 搜索网页让我想到了使用“钩子”,但在这种情况下,使用钩子的人并不多 希望你能帮助我 Anthony此代码提供了返回纯文本的ht

我正在寻找一种方法,从另一个应用程序webbrowser控件获取文档信息或文档文本,并可能对其进行更改。 另一个应用程序是用.net编写的,但不是我自己编写的

我正在寻找这样的能力:

我希望OnDocumentCompleted的eventhandler可以为我获取该文档的信息。 如果可能的话,我还想截取某些页面,添加一些html,并将它们发送回要显示的第二个应用程序。 搜索网页让我想到了使用“钩子”,但在这种情况下,使用钩子的人并不多

希望你能帮助我
Anthony

此代码提供了返回纯文本的html解析示例 解析取决于页面内容

private string GetPlainText(WebBrowser webBrowser)
{
    StringBuilder sb = new StringBuilder();
     // Pick out a heading.
    foreach (HtmlElement h1 in webBrowser.Document.GetElementsByTagName("H1"))
        sb.Append(h1.InnerText + ". ");

    // Select only some text, ignoring everything else.
    foreach (HtmlElement div in webBrowser.Document.GetElementsByTagName("DIV"))
        if (div.GetAttribute("classname") == "story-body")
            foreach (HtmlElement p in div.GetElementsByTagName("P"))
            {
              string classname = p.GetAttribute("classname");
              if (classname == "introduction" || classname == "") sb.Append(p.InnerText + " ");
            }
    return sb.ToString();
  }
}