Es posible usar Webbrowser sin crear el control Webbrowser:
Dim WB as new WebBrowser
Eso es como preguntar si puedes clickar un Botón de la UI de tu app, sin haber agregado ese botón a la UI, no tiene sentido, la respuesta obviamente es No.
El control
WebBrowser no es más que un host, un control que hospeda una instancia embedida del proceso de InternetExplorer.
Cuando comprendemos eso, encontes podemos decir que si es posible utilizar un ""WebBrowser"" si ejecutas manualmente el proceso de IE y utilizas un motor de automatización como por ejemplo
Microsoft UI automation, pero no te recomiendo que apliques esta técnica en absoluto, ya que la utilización de
UI Automation es bastante tediosa incluso para llevar a cabo pequeñas tareas (ej: obtener el texto de la barrá de título de una ventana), requiere una alta comprensión sobre el significado y la funcionalidad de todos los miembros que componen las classes de Microsoft UI automation, que no son para nada pocos.
➢
UI Automation Overview( No te dejes confundir por que forme parte de WPF, se puede usar perfectamente bajo Windows Forms, y para hacerle un Spy cualquier tipo de aplicación )
Yo personalmente, para la automatización de IE (y cualquier otro navegador), te recomiendo utilizar la herramienta profesional
Test Studio de Telerik, es la mejor herramienta que existe para esto (le da mil vueltas a iMacros), donde se puede generar un código funcional en VB.Net/C# para llevar a cabo la automatización y controlar hasta el más mínimo detalles. Es perfecto para controlar el comportamiento de los diálogos de archivo (creo que preguntaste algo respecto a los diálogos en otro post).
➢
Telerik Test Studio (no confundir con Telerik Testing Framework)
Me gustaría poder usar WebBrowser sin alojar nada en el caché.
sin alojar, cookies, imágenes, scripts, etc en el disco. Es decir, que no se descargue nada en disco.
Cómo ya hemos dicho, el control
WebBrowser es un host para InternetExplorer, y, comparte la configuración actual que el usuario tenga aplicada en InternetExplorer,
los diálogos, cookies, y etc, se manejan directamente por IE, no por el control WebBrowser, así que no puedes modificar el comportamiento de IE desde el "
WebBrowser control".
Esto quiere decir que, si quieres desactivar el Caching y/o el almacenamiento de Cookies del WebBrowser, debes modificar directamente la configuración de InternetExplorer en el equipo actual para desactivar esas características.
➢
About the Browser - MSDN
cookies, cache
Cookies:
En
Internet Explorer, click en el menú
Herramientas -> Opciones de Internet -> Privacidad -> Avanzado - Administración de cookies -> Bloquear.
➢
How to manage cookies in Internet Explorer 9 - MicrosoftCaching:
En
Internet Explorer, click en el menú
General -> Historial de navegación -> Elegir la opción de este tipo de cache.
plus:
➢
How to Modify Caching Behavior in Internet Explorer 10También puedes modificar la configuración de IE mediante el registro de Windows, en la clave que almacena la configuración de IE, pero no recuerdo exactamente la ruta de la clave de registro, puedes buscarla en Google.
También existaen algunas funciones de la API de Windows que sirven para modificar el comportamiento de IE.
Nota:
Es muy importante que comprendas que, si tienes pensado sitribuir tu app, por norma general ese tipo de cambios en el sistema no no son recomendables, ya que es un claro ejemplo de intrusismo agresivo en el sistema operativo del end-user, no se debe modificar la configuración de "X" programa externo a menos que el usuario lo haya permitido estando conforme a los cambios que se aplicarán.
Sólo para obtener información de una página como links o código
Si no necesitas navegar en la página entonces no necesitas usar IE (WebBrowser) ni el host de MSHTML ni nada parecido, puedes usar la Class
HttpWebRequest/
HttpWebResponse (entre otras) para realizar peticiones a una url y obtener la respuesta (el código fuente de la página).
➢
HttpWebRequest Class (System.Net) - MSDN➢
HttpWebResponse Class (System.Net) - MSDNEsa es la técnica que generálmente se utiliza para ese tipo de tareas, usar un
WebBrowser es algo muy excesivo en caso de que no necesites navegar por la página de forma interactiva/visual.
Si necesitas usar la nevagación y necesitas desactivar cualquier tipo de caching, entonces en lugar de trastear con IE y la configuraciónd le usuario, es preferible que utilices un host de Firefox o Chrome para .Net (aunque tendrás que documentarte bien primero, ya que cambia mucho el nombre de los miembros de sus classes, y la manera de utilizarlos en comparación con un WebBrowser control).
➢
Gecko FXSaludos!