Tengo Windows .Net Form
que contiene un control WebBrowser
.
Este WebBrowser
muestra una página web basada en su propiedad Url
.
¿Puedo modificar el DOM de la página mostrada dentro del control WebBrowser
?
En caso afirmativo, ¿cómo?¿Cómo actualizar el contenido DOM dentro del control WebBrowser en C#?
Respuesta
Para aquellos que estén interesados, aquí está la solución:
HtmlElement headElement = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptElement = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement domScriptElement = (IHTMLScriptElement)scriptElement.DomElement;
domScriptElement.text = "function applyChanges(){/*DO WHATEVER YOU WANT HERE*/}";
headElement.AppendChild(scriptElement);
// Call the nextline whenever you want to execute your code
webBrowser1.Document.InvokeScript("applyChanges");
¡Buen trabajo publicar su solución aquí! Gracias – viniciushana
De http://msdn.microsoft.com/pt-br/library/system.windows.forms.webbrowser.aspx:
También puede manipular el contenido de una página Web a través de la propiedad de documento, que contiene un objeto HtmlDocument que proporciona un acceso controlado al modelo de documento HTML objeto (DOM) de la página actual . Esta propiedad es útil, cuando se usa en combinación con la propiedad ObjectForScripting, para implementar comunicación bidireccional entre el código de su aplicación y el código HTML dinámico (DHTML) en una página web, permitiéndole combinar controles basados en Web y controles de Windows Forms en un solo interfaz de usuario. Puede usar la propiedad Documento para llamar a los métodos de código de scripting desde su aplicación. Su código de secuencia de comandos puede acceder a su aplicación a través del objeto window.external, que es un objeto DOM incorporado para el acceso de host, y que se asigna al objeto que especifique para la propiedad ObjectForScripting.
¿Podría aclarar su punto con un ejemplo? – Aakash
Al final del enlace, encontrarás algunos ejemplos. – viniciushana
- 1. C# WebBrowser Control Proxy
- 2. C# WebBrowser Control System.AccessViolationException
- 3. Cómo usar el control WebBrowser Evento DocumentCompleted en C#?
- 4. Quitar el borde del control WebBrowser
- 5. Recuperando el texto seleccionado del control Webbrowser en .net (C#)
- 6. C# WebBrowser control no aplica css
- 7. Navegación y control WebBrowser
- 8. ¿Cómo envío un formulario dentro de un control WebBrowser?
- 9. Cómo simular el clic del mouse con el control WebBrowser
- 10. Cómo inyectar Javascript en el control WebBrowser?
- 11. Windows Forms Control e iframes de WebBrowser
- 12. Centrar el control WebBrowser en una aplicación C#
- 13. Pasando una matriz de cadenas de JS a C# dentro del control WebBrowser
- 14. ¿Cómo ejecutar JavaScript personalizado en el control WebBrowser?
- 15. Cómo detectar la ejecución de javascript en el control WebBrowser
- 16. Obteniendo el historial de back/fwd del Control WebBrowser
- 17. Abrir enlace en TAB nueva (control WebBrowser)
- 18. Manejo de eventos clave en el control WebBrowser
- 19. Usar imágenes locales en el control Webbrowser
- 20. ¿Es posible cambiar el color de fondo del control WebBrowser antes de cargar contenido?
- 21. Tome capturas de pantalla del control WebBrowser
- 22. Detectar WebBrowser Control
- 23. Cómo habilitar el modo privado en el control WebBrowser
- 24. obteniendo la posición absoluta del elemento HTML en el control del webbrowser con C#
- 25. Caché y el control WebBrowser en .Net
- 26. BackgroundWorker y WebBrowser Control
- 27. Configuración del encabezado de autenticación para el control WebBrowser - ASP.NET
- 28. Cómo abrir en una ventana nueva usando el control WebBrowser?
- 29. contenido dentro del archivo zip
- 30. Cambiar el agente de usuario del control WebBrowser
Es posible. Se supone que WebBrowser tiene una propiedad llamada Document que le permite acceder al html a través de htmldocument en el código administrado (http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx) – MilkyWayJoe
Aquí está el enlace a esa propiedad específica que mencioné http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.document.aspx – MilkyWayJoe
¿Es de solo lectura (ya que veo que solo contiene un getter)? –