¿C # formas de renderizar una página web y navegar / manipular su DOM?

c# dom html-agility-pack msdn

Pregunta

Tengo un buen conocimiento de DOM + HTML, etc. pero soy nuevo en c #, ¿cuál es la mejor forma actualmente de descargar y procesar (ejecutar todos los cambios de javascript + DOM, etc.) y simular la interacción del usuario con una página web en c #?

He visto el paquete de agilidad de HTML mencionado varias veces pero no parece que se haya actualizado desde agosto de 2012. ¿Alguien ha usado esto recientemente y ha encontrado algún problema? ¿C # tiene algo incorporado para esto?

¡Gracias!

Respuesta aceptada

En primer lugar, HTMLAgilityPack no es para simular la interacción del usuario en una página web, HTMLAgilityPack es un analizador HTML ágil que crea un DOM de lectura / escritura y es compatible con XPATH o XSLT (de hecho, NO TIENE QUE entender XPATH ni XSLT para usarlo no te preocupes ...).

HTMLAgilityPack no admite JavaScript, es un paso muy importante, ya que muchos desarrolladores tienen problemas con la carga completa de la página en el navegador y la solicitud realizada por HTMLAgilityPack o cualquier biblioteca que use para realizar la solicitud.

Para la interacción del usuario, la carga completa de la página web, las pruebas web, le recomiendo encarecidamente Selenium , Selenium automatiza los navegadores. Selenium tiene soporte para varios lenguajes de programación (Java, C #, Ruby, Python, etc.), puedes leer más en el enlace anterior con una muy buena documentación.

El único inconveniente de Selenium es que abre un navegador para que funcione, pero se puede simular en algunos entornos para ejecutar un navegador sin cabeza, puede leer más sobre esto en los siguientes enlaces:

Espero que esto te ayude



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué