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

时间:2015-08-27 22:52:31

标签: c# webbrowser-control hook

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

我正在寻找这样的能力:

  • 我想为OnDocumentCompleted提供一个可以获取该文档信息的事件处理程序。
  • 如果可能的话,我还想拦截某些页面,添加一些HTML,然后将它们发送回第二个应用程序进行显示。

搜索网络指向我使用'Hooks',但在这种情况下使用钩子找不到太多。

希望你能帮助我 安东尼

1 个答案:

答案 0 :(得分:0)

此代码提供了一个返回纯文本的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();
  }
}