【问题标题】:Copy all text from webbrowser control从 webbrowser 控件复制所有文本
【发布时间】:2011-02-07 21:28:07
【问题描述】:

是否可以在不查看源代码的情况下从WebBrowser 控件导航到的站点中抓取所有文本?

【问题讨论】:

    标签: c# .net winforms browser


    【解决方案1】:

    您使用DocumentText 属性或WebBrowser 控件。

    这个属性保存了您导航到的站点的 HTML。

    更新:(跟随 cmets)

    如果您想解析 HTML 并获取其中的文本部分,我建议您使用HTML Agility Pack

    【讨论】:

    • oded,我不想看 html,我只想看用户看到的文本
    • 不,我不想解析 html,我只想得到与按 ctrl A 并复制粘贴所有文本相同的结果
    • 嗯。这就是您通过解析 HTML 得到的结果。
    【解决方案2】:

    David Walker 的方法非常适用于不需要来自标题或网页非主要部分的任何信息。如果需要内部文本之外的东西,只有两种选择,一种是用“getElement”解析。 另一种是向网络浏览器发出命令(Document.ExecCommand)以全选并复制到剪贴板:

    wb.Document.ExecCommand("SelectAll", false, null);
    wb.Document.ExecCommand("Copy", false, null);
    

    最后是string content=clipboard.getText();

    请注意拼写和语法可能不正确,我是从记忆中回忆的

    【讨论】:

      【解决方案3】:
      string browserContents = webBrowser.Document.Body.InnerText;
      

      【讨论】:

      • 感谢您让我接触到 David 的气味。如果您想像我一样保留格式,请使用 webBrowser.Document.Body.InnerHtml;
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      相关资源
      最近更新 更多