2010-01-27 7 views
16

Buscando algo similar para mecanizar para .NET ...WebBrowsing in C# - Bibliotecas, herramientas, etc. - ¿Algo como Mechanize en Perl?

Si usted no sabe lo que es .. Mechanize http://search.cpan.org/dist/WWW-Mechanize/

voy a mantener una lista de sugerencias aquí. Cualquier cosa para explorar/publicar/raspado de pantalla (que no sea WebRequest y WebBrowser Control).

Analizar

pruebas Web App

Herramientas

  • Firebug para Firefox
  • Internet Explorer Developer Toolbar para IE
  • Chrome también tiene uno

Nota

WatiN está cerca de lo que yo estoy buscando, excepto que se abre un navegador, lo cual es molesto y terrible al mismo tiempo. Depende de lo que estás haciendo.

+1

En WatiN, simplemente configure la propiedad "IE.Settings.MakeNewIeInstanceVisible" en false, y consulte "IE.Settings.AutoStartDialogWatcher". Más información en http://www.watin.net –

+0

Simplemente llame a Perl desde C#, no hay nada como mecanizar web en .NET –

Respuesta

2

He estado usando WatiN con gran efecto. Es una manera fácil de 1) automatizar la entrada del usuario con IE y 2) navegar por el DOM.

+0

+1 La mejor respuesta hasta el momento. ¡Gracias! – Jason

+2

WatiN requiere en realidad iniciar las ventanas del navegador. Mecanizar solo está en la memoria – kenwarner

+0

Es un poco lento, pero es divertido ver el navegador automatizarse. Aún más divertido es llamar. Resalte la parte del DOM que está procesando, y puede ver el procesamiento. – PhilChuang

2

Debe usar HTML Agility Pack, que puede analizar sopa de etiquetas de sitios web reales en una estructura DOM.

+2

Eso es bueno para analizar las páginas una vez que las obtiene, pero ¿qué pasa con todo lo demás? Me gusta, iniciar sesión en sitios, administrar cookies, manejar la redirección, etc. – Jason

+0

Usa la clase 'WebClient', o la clase' HtmlWeb' de HAP, o la clase 'HttpWebRequest' con un' CookieContainer'. – SLaks

+0

Sé que puedes hacerlo de esa manera en .NET, buscando algo un poco más alto. Me gusta Mecanizar. Está bien si no hay uno, solo tenía curiosidad si había una biblioteca que hizo lo que hice con WebClient, etc. – Jason

4

Puede utilizar el control WebBrowser, que se puede automatizar hasta cierto punto.

+0

@Downvoter: ¿por qué molestarse en rechazar si no puede molestarse en decir por qué votó negativamente? ¿Crees que cuido aproximadamente 2 puntos? –

+0

@Downvoter: otro infractor no escuchado por –

2

También puede usar Selenium. Es para pruebas de unidades de sitios web. Tiene una aplicación Java que maneja el navegador y una interfaz C# en la que puede escribir su código. También tiene la desventaja de mostrar el navegador, pero tiene muchas funciones en términos de control, espera respuestas y obtiene los resultados.

1

Design Canvas es la mejor herramienta disponible para este tipo de cosas. Funciona con IE, Firefox, Safari o un navegador en memoria. Le permite grabar y luego reproducir cualquier tipo de interacción web.

0

Tengo ingeniería inversa de Python-Mechanize, y lo recreé en C#, llamado Mechanize.NET.

https://github.com/WilliamABradley/Mechanize.NET

Esto debe cubrir todos los casos de uso es de esperar de Mechanize, si no es así, o se descubre un error, crear un problema.

Se utiliza .NET estándar, por lo que debe ser utilizable a través de .NET, como por ejemplo con F #, VB, etc.

Utiliza HtmlAgilityPack internamente, e incluso se puede recoger el HtmlDocument para cada página cargada.

Cuestiones relacionadas