在C#中使用Chrome浏览器?
有没有办法在C#应用程序中使用Google Chrome(或Safari或Firefox)作为浏览器? C#现在使用Internet Explorer,他们想在这个程序中使用的网站不支持它。
你可以使用WebKit.NET 。 这是一个WebKit的C#包装器,它是Chrome使用的渲染引擎。
您可以使用GeckoFXembeddedFirefox
我不知道任何完整的 Chrome组件,但可以使用WebKit,它是Chrome使用的渲染引擎。 单声道项目使WebKit夏普 ,这可能会为你工作。
我使用Awesomium,我认为它比GeckoFX / WebKit http://awesomium.com更好;
OpenWebKitSharp让您完全控制WebKit Nightly,它在性能和兼容性方面非常接近Webkit。 Chrome使用WebKit Chromium引擎,而WebKit.NET每晚使用Cairo和OpenWebKitSharp。 Chromium应该是这些版本中最好的,而第二名应该是Nightly,这就是为什么我build议OpenWebKitSharp。
http://gt-web-software.webs.com/libraries.htm在OpenWebKitSharp部分;
我能用CefSharp做到这一点。
这里有几个post显示了这一点:
- 在O2中运行Chrome
- video:安装和运行CefSharp(带WPF浏览器的C#Chrome)
- video:在O2和VisualStudio中自然运行Chrome
2017年3月 – > 2017年1月3日
您好,今天,我发现这篇文章来实现这一点,这篇文章被称为“创build一个桌面.NET应用程序的HTML用户界面”,旨在将一个基于铬的控件embedded到WPF应用程序。 这一天救了我。
https://www.infoq.com/articles/html-desktop-net
我希望它能帮助别人。
注意:它基于DotNetBrowser,请参阅许可协议在这里: https ://www.teamdev.com/dotnetbrowser-licence-agreement
试试这个: http : //code.google.com/p/geckofx/
2014年更新:
我使用geckofx ,这是一个健康的开源项目,(截至撰写本文)与最新的Firefox版本保持一致。
要embeddedChrome,您可以考虑另一个健康的开源项目Xilium.cefGlue ,它基于Chromium Embedded Framework(CEF) 。
这两个都支持WPF和Winforms,并且这两个项目都支持.net和mono。
2016年更新:
不幸的是,大多数上述解决scheme已经过时,不再维护。
还有3个额外的选项,我可以build议,仍然积极开发:
1. BrowseEmAll.Cef
.Net组件,可用于将Chrome引擎集成到.Net应用程序中。 基于CefGlue,但更新到最新的Chrome版本有点快。 此外,还有一个商业支持选项,可能会派上用场。 当然,这个组件本身就是开源的 。
2. BrowseEmAll.Gecko
另一个可用于将Firefox引擎集成到.Net应用程序中的.Net组件。 这是基于Geckofx,但不同于当前版本的Geckofx,这将与Firefox的正常版本构build一起工作。 要使用Geckofx,您需要自己构buildFirefox。 再次商业支持是可用的,但组件本身是完全开源的 。
3.浏览完整的核心API
需要.Net应用程序中的所有不同的浏览器? BrowseEllll Core API可以将Chrome,Firefox,Webkit和Internet Explorer集成到您的应用程序中。 尽pipe如此,但这是一个商业产品 。
(充分披露:我为这家公司工作,所以我把一切所说的一切)
看看DotNetBrowser库。 它提供了基于Chromium的WPF和WinForms浏览器控件,这些控件很容易embedded到.NET应用程序中。 它支持所有的现代Web标准,包括HTML5,CSS3和JavaScript。 呈现的页面在Google Chrome浏览器中看起来完全一样。
该库inheritance了Chromium的多进程架构 – 每个网页都在一个单独的Chromium进程中呈现,即使在插件崩溃或网页出现任何其他意外错误之后,该应用程序仍将继续工作。
以下是DotNetBrowser提供的其他一些有用的function:可以监听加载事件,处理networking活动,configuration代理,模拟用户操作,使用cookie,访问和修改DOM,监听DOM事件,从.NET调用JavaScript。反之亦然,在网页上使用networking摄像头和麦克风,build立基于WebRTC的通信, 等等 。
查看API参考了解更多详情。
下面的代码片段演示了如何创build一个BrowserView,将其embedded到Form中,并加载一个URL:
using System.Windows.Forms; using DotNetBrowser; using DotNetBrowser.WinForms; namespace WinForms.DotNetBrowser { public partial class Form1 : Form { public Form1() { InitializeComponent(); BrowserView browserView = new WinFormsBrowserView(); Controls.Add((Control) browserView); browserView.Browser.LoadURL("http://www.youtube.com"); } } }
一旦你运行上面的例子,你会得到以下输出:
这个图书馆是商业的,但是它可以在开放源代码和学术项目中免费使用。 商业许可包括不同团队规模的支持包。 也可以购买图书馆的源代码。
除了自己的页面之外,组件还可以作为NuGet包和Visual Studio Marketplace中的VSIX包提供。
- -webkit-transform旋转 – Chrome中的像素化图像
- Firefox和Chrome在本地主机上运行缓慢; 已知的修复程序在Windows 7上不起作用
- 有可能在单独的窗口中打开铬debugging器? 怎么样?
- Chrome的远程debugging(USBdebugging)不适用于运行Android 4.3的三星Galaxy S3
- Google Chrome如何将单个标签隔离到单独的进程中,同时看起来像是单个应用程序?
- Chrome桌面通知示例
- 你如何在Google Chrome中启动JavaScript调试器?
- 如何开发Gmail的Chrome扩展程序?
- 图像移动hover – 铬不透明问题