Powershell 2.0 - HtmlAgilityPackを使用してFORM要素の子を取得する

html html-agility-pack html-parsing powershell

質問

主な問題は、HtmlAgiltyPackがデフォルトで<form>要素から子ノードを取得しないという事実に起因しています。詳細については、null参照エラー取得せずにHtmlAgilityPackを使用してフォーム内のすべての入力要素を取得する方法を参照してください。

問題は、そのリンクはC#で問題を修正する方法を示していますが、PowerShellで修正する必要があります。何か案は?


私は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>

今、私が<form>要素を選択すると、子要素が戻ってこないので、なぜ<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>

HasChildNodesがfalseと等しいことがわかります。

私が提供したC#のリンクから、私は何とかHtmlNode.ElementsFlags.Remove("form");を実行する必要がありHtmlNode.ElementsFlags.Remove("form"); PowerShellに何を入力すれば同等のものになるかはわかりません。

再度、感謝します!


EDIT

正しい方向に私を向けるhar07に感謝します。 [HtmlAgilityPack.HtmlNode]::ElementsFlags.Remove("form")は私が実行する必要があったものです。

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>

受け入れられた回答

実際に私はPowerShellのユーザーではありませんが、 このブログの投稿によれば、次のようなものを試してみることができます:

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



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ