【问题标题】:Use chrome as browser in C#?在 C# 中使用 chrome 作为浏览器?
【发布时间】:2011-01-09 15:28:35
【问题描述】:

有没有办法在 C# 应用程序中使用 Google Chrome(或 Safari 或 Firefox)作为浏览器? C# 现在使用的是 Internet Explorer,而他们想在这个程序中使用的网站不支持它。

【问题讨论】:

  • DotNetBrowser 提供基于 Chromium 的控件,您可以使用这些控件在 .NET 应用程序中显示您的网站(同时支持 WPF 和 WinForms)。该库是商业的,但有免费的学术和开源许可证,它有plenty of features. 此外,它可以在屏幕外工作,不依赖于本地安装。

标签: c# google-chrome embedded-browser


【解决方案1】:

您可以使用WebKit.NET。这是 WebKit 的 C# 包装器,它是 Chrome 使用的渲染引擎。

【讨论】:

  • 技术上 Blink 现在是 Chrome 中的渲染引擎。它曾经是 WebKit,但谷歌分叉了它,所以他们可以在几年前朝着自己的方向发展。
【解决方案2】:

你可以使用GeckoFX嵌入firefox

【讨论】:

  • 可能是因为问题是关于 chrome 的。
  • 除了问题特别指出,“(safari or firefox may [sic] also)”;)
【解决方案3】:

我不知道任何 完整 Chrome 组件,但您可以使用 WebKit,它是 Chrome 使用的渲染引擎。 Mono 项目制作了WebKit Sharp,它可能对你有用。

【讨论】:

    【解决方案4】:

    我用的是 Awesomium,我觉得比 GeckoFX/WebKit 好 http://awesomium.com

    【讨论】:

    • awesomium 可能是迄今为止最好的,如果有人在 2013 年碰巧看到这个线程,忘了其他提到的,看看 awesomium
    • 是的,但成本已经存在。
    • 您可以免费使用它,如果您不将其用于大型商业用途
    • 有没有保存图片的例子?
    • awesomium 在执行带有结果的 javascript 时遇到问题 :(
    【解决方案5】:

    OpenWebKitSharp 让您可以完全控制 WebKit Nightly,它在性能和兼容性方面非常接近 webkit。 Chrome 使用 WebKit Chromium 引擎,而 WebKit.NET 使用 Cairo 和 OpenWebKitSharp Nightly。 Chromium 应该是这些构建中最好的,而 Nightly 应该排在第二位,这就是我建议 OpenWebKitSharp 的原因。

    http://gt-web-software.webs.com/libraries.htm 在 OpenWebKitSharp 部分

    【讨论】:

      【解决方案6】:

      2017 年 1 月 3 日 --> 2017 年 1 月 3 日

      您好,今天我找到了这篇文章来实现这一点,这篇文章名为“为桌面 .NET 应用程序创建 HTML UI”,旨在将基于铬的控件嵌入 WPF 应用程序中。它为我节省了一天的时间。

      https://www.infoq.com/articles/html-desktop-net

      我希望它可以帮助其他人。

      注意:它基于 DotNetBrowser,请参阅此处的许可协议:https://www.teamdev.com/dotnetbrowser-licence-agreement

      【讨论】:

        【解决方案7】:

        【讨论】:

          【解决方案8】:

          2014 年更新:

          我使用geckofx,这是一个健康的开源项目(在撰写本文时),它与最新的 Firefox 版本保持同步。

          要嵌入 Chrome,您可以考虑另一个健康的开源项目 Xilium.cefGlue,它基于 The Chromium Embedded Framework (CEF)

          这两个项目都支持 WPF 和 Winforms,并且两个项目都支持 .net 和 mono。

          【讨论】:

          • 哪些最适合非交互式使用?即,我只想加载一个特定页面,执行所有 javascript(不包括需要用户输入的任何内容),然后以编程方式查询 DOM 以获取有关页面的信息,作为没有 UI 的服务器端处理的一部分。理想情况下,我能够覆盖内容的加载方式,并在显示任何模式(警报/确认)对话框时得到通知。
          【解决方案9】:

          2016 年更新:

          很遗憾,上述大多数解决方案都已过时且不再维护。

          我可以建议还有 3 个其他选项仍在积极开发中:

          1. BrowseEmAll.Cef

          一个 .Net 组件,可用于将 Chrome 引擎 集成到您的 .Net 应用程序中。基于CefGlue,但更新到最新的 Chrome 版本要快一些。此外,还有一个商业支持选项可供某些人使用。当然组件本身是开源的

          2. BrowseEmAll.Gecko

          另一个 .Net 组件,可用于将 Firefox 引擎 集成到您的 .Net 应用程序中。这是基于Geckofx,但与当前版本的 Geckofx 不同,它适用于 Firefox 的正常发行版本。要使用 Geckofx,您需要自己构建 Firefox。再次提供商业支持,但组件本身是完全开源

          3. BrowseEmAll Core API

          在您的 .Net 应用程序中需要所有不同的浏览器? BrowseEmAll Core API 可以将 Chrome、Firefox、Webkit 和 Internet Explorer 集成到您的应用程序中。这是一个商业产品,但请注意。

          (完全披露:我在这家公司工作,所以我所说的一切都持保留态度)

          【讨论】:

            猜你喜欢
            • 2012-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-13
            • 2013-06-02
            • 2014-12-10
            • 2012-05-12
            相关资源
            最近更新 更多