Analyser une page Web avec HtmlAgilityPack et simuler un clic

c# html-agility-pack

Question

Je suis en train de gratter une page Web donnée à l'aide de HAP et je souhaite accéder au bouton d'envoi de la page, mais le problème est que je ne sais pas comment cela peut être fait en HAP et en C #, y a-t-il un moyen de le faire?

Réponse acceptée

Le pack d'agilité HTML n'est pas un navigateur. Par conséquent, s'il peut analyser un fichier HTML, il est impossible d'interagir réellement avec celui-ci. Vous pouvez trouver l'objet de submit , lire ses propriétés, etc., mais vous ne pouvez rien lui faire faire.

Vous avez deux options:

  • Soit lisez le formulaire, créez un objet Requête Http qui correspond aux champs de formulaire, envoyez la méthode et envoyez-le au serveur. C'est tout le travail manuel. Le pack Agility vous aide uniquement à répertorier les champs du formulaire et leurs propriétés.

  • Si vous avez besoin d'interagir avec la page, vous aurez besoin d'un navigateur. Il existe des navigateurs sans tête, comme PhantomJS, qui chargent la page, analysent le code Javascript et exécutent ce qui est envoyé par le serveur. Awesonium est un exemple parmi ces wrappers pour C #. Il est similaire au Pack d'agilité HTML en ce sens qu'il vous permet d'analyser des documents HTML, mais il va encore plus loin en l'exécutant sans le moindre écran de navigateur.




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