webkitbrowser webbrowser visual studio net google framework example dotnetbrowser chrome c# google-chrome embedded-browser

visual - webbrowser c# chrome



¿Usar Chrome como navegador en C#? (11)

¿Hay alguna manera de usar Google Chrome (o Safari o Firefox) como navegador en una aplicación C #? C # ahora usa Internet Explorer, y el sitio web que quiere usar en este programa no lo admite.


Actualización para 2014:

Utilizo geckofx , un proyecto de código abierto saludable que (al momento de escribir esto) se actualiza bastante bien con las últimas versiones de Firefox.

Para incrustar Chrome, puede considerar otro proyecto de código abierto de aspecto saludable, Xilium.cefGlue , basado en The Chromium Embedded Framework (CEF) .

Ambos admiten WPF y Winforms, y ambos proyectos tienen soporte para .net y mono.


Eche un vistazo a la biblioteca DotNetBrowser . Proporciona controles de navegador basados ​​en Chromium WPF y WinForms, que son bastante fáciles de incorporar a la aplicación .NET. Es compatible con todos los estándares web modernos, incluidos HTML5, CSS3 y JavaScript. La página renderizada se ve exactamente como en Google Chrome.

La biblioteca hereda la arquitectura multiprocesamiento de Chromium: cada página web se procesa en un proceso separado de Chromium y la aplicación continuará funcionando incluso después de que el plugin se cuelgue o se produzca cualquier otro error inesperado en la página web.

Aquí hay algunas otras características útiles, proporcionadas por DotNetBrowser: es posible escuchar cargar eventos, manejar la actividad de red, configurar el proxy, simular acciones de usuario, trabajar con cookies, acceder y modificar DOM, escuchar eventos DOM, invocar JavaScript desde .NET y viceversa, use la cámara web y el micrófono en la página web, configure la comunicación basada en WebRTC, y más .

Consulte la Referencia de API para más detalles.

El siguiente fragmento de código muestra cómo crear un BrowserView, incrustarlo en un Formulario y cargar una 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"); } } }

Una vez que ejecutas el ejemplo anterior obtendrás el siguiente resultado:

La biblioteca es comercial, sin embargo, es gratuita para uso en proyectos académicos y de código abierto. Las licencias comerciales incluyen paquetes de soporte para diferentes tamaños de equipo. También es posible comprar el código fuente de la biblioteca.

Además de su propia página, el componente está disponible como paquete NuGet y como paquete VSIX en Visual Studio Marketplace.


No conozco ningún componente completo de Chrome, pero podría usar WebKit, que es el motor de renderizado que usa Chrome. El proyecto Mono hizo WebKit Sharp , que podría funcionar para usted.


OpenWebKitSharp le brinda control total sobre WebKit Nightly, que está muy cerca del juego web en términos de rendimiento y compatibilidad. Chrome utiliza el motor WebKit Chromium, mientras que WebKit.NET usa Cairo y OpenWebKitSharp Nightly. Chromium debería ser la mejor de estas compilaciones, mientras que en segundo lugar debería ser Nightly y es por eso que sugiero OpenWebKitSharp.

http://gt-web-software.webs.com/libraries.htm en la sección OpenWebKitSharp





Puedes usar WebKit.NET . Este es un contenedor C # para WebKit, que es el motor de renderizado utilizado por Chrome.




Actualización 2016:

Desafortunadamente, la mayoría de las soluciones anteriores están desactualizadas y ya no se mantienen.

Hay 3 opciones adicionales que puedo sugerir que aún están activamente desarrolladas:

1. BrowseEmAll.Cef

Un componente .Net que se puede usar para integrar el motor Chrome en su aplicación .Net. Basado en CefGlue pero un poco más rápido en las actualizaciones de la última versión de Chrome. También hay una opción de soporte comercial disponible que puede ser útil para algunos. Por supuesto, el componente en sí es de código abierto .

2. BrowseEmAll.Gecko

Otro componente .Net que se puede usar para integrar el motor Firefox en su aplicación .Net. Esto está basado en Geckofx pero a diferencia de la versión actual de Geckofx, funcionará con una versión de lanzamiento normal de Firefox. Para usar Geckofx necesitarás construir Firefox tú mismo. De nuevo, el soporte comercial está disponible, pero el componente en sí es completamente de código abierto .

3. BrowseEmAll Core API

¿Necesita todos los navegadores diferentes en su aplicación .Net? Que BrowseEm All API API puede integrar Chrome, Firefox, Webkit e Internet Explorer en su aplicación. Este es un producto comercial, así que ten cuidado.

(Divulgación completa: yo trabajo para esta empresa, así que toma todo lo que digo con un grano de sal)