Powershell 2.0 - Utilisation de HtmlAgilityPack pour obtenir des enfants d'éléments FORM

html html-agility-pack html-parsing powershell

Question

Le problème principal provient du fait que HtmlAgiltyPack ne récupère pas les nœuds enfants d'un élément <form> par défaut. Voir Comment obtenir tous les éléments d'entrée dans un formulaire avec HtmlAgilityPack sans obtenir une erreur de référence null pour plus d'informations.

Le problème est que ce lien montre comment résoudre le problème en C #, mais je dois le résoudre dans PowerShell. Des idées?


Je vais simplifier mon HTML

<form method="POST" action="post.aspx" id="form">
    <div>
        <input type="hidden" name="test1" id="test1" value="1" />
    </div>
    <input type="text" name="test2" id="test2" value="12345" />
</form>

Maintenant, je vois que lorsque je sélectionne l'élément <form> , je ne récupère aucun enfant, ce qui explique pourquoi je ne pouvais pas sélectionner les éléments <input> .

<form method="POST" action="post.aspx" id="form">
    <div>
        <input type="hidden" name="test1" id="test1" value="1" />
    </div>
    <input type="text" name="test2" id="test2" value="12345" />
</form>

Vous pouvez voir que HasChildNodes est égal à false.

À partir du lien C # que j'ai fourni, j'ai en quelque sorte besoin d'exécuter HtmlNode.ElementsFlags.Remove("form"); mais je ne sais pas quoi taper dans PowerShell qui serait équivalent.

Merci encore!


MODIFIER

Merci à har07 de m'avoir orienté dans la bonne direction. [HtmlAgilityPack.HtmlNode]::ElementsFlags.Remove("form") était ce que j'avais besoin d'exécuter.

Notez que je dois exécuter cette commande avant de charger le code HTML.

<form method="POST" action="post.aspx" id="form">
    <div>
        <input type="hidden" name="test1" id="test1" value="1" />
    </div>
    <input type="text" name="test2" id="test2" value="12345" />
</form>

Réponse acceptée

En fait, je ne suis pas un utilisateur de PowerShell, mais selon ce billet de blog , vous pouvez essayer quelque chose comme ceci:

[HtmlAgilityPack.HtmlNode.ElementsFlags]::Remove("form")



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