c # les moyens de rendre une page Web et de naviguer / manipuler son DOM?

c# dom html-agility-pack msdn

Question

J'ai une bonne compréhension de DOM + HTML, etc., mais je suis novice en c #. Quelle est la meilleure façon de télécharger puis de restituer (exécuter tous les changements javascript + DOM, etc.) et de simuler une interaction utilisateur avec une page Web en c #?

J'ai vu le pack d'agilité HTML mentionné plusieurs fois, mais il ne semble pas qu'il ait été mis à jour depuis août 2012? Quelqu'un at-il utilisé récemment et rencontré des problèmes? Est-ce que c # a quelque chose d'intégré pour cela?

Merci!

Réponse acceptée

Tout d’abord, HTMLAgilityPack n’est pas conçu pour simuler l’interaction de l’utilisateur dans une page Web. HTMLAgilityPack est un analyseur HTML agile qui crée un DOM en lecture / écriture et prend en charge les commandes XPATH ou XSLT ordinaires (vous ne devez pas comprendre XPATH ni XSLT pour l’utiliser, ne t'inquiète pas ...).

HTMLAgilityPack ne supporte pas JavaScript, c'est une étape très importante, car de nombreux développeurs ont des problèmes avec le chargement complet de la page dans le navigateur et avec la requête de HTMLAgilityPack ou de toute bibliothèque que vous utilisez pour effectuer la requête.

Pour les interactions entre utilisateurs, chargement complet de la page Web, tests Web, je vous recommande fortement Selenium , Selenium automatise les navigateurs. Selenium supporte plusieurs langages de programmation (Java, C #, Ruby, Python, etc.), vous pouvez en lire plus dans le lien ci-dessus avec une très bonne documentation.

Le seul inconvénient de Selenium est qu’il ouvre un navigateur pour rendre le travail facile, mais il peut être simulé dans certains environnements pour exécuter un navigateur sans navigateur, vous pouvez en savoir plus à ce sujet dans les liens suivants:

J'espère que cela vous aidera




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi