1

アプリケーションで Jsoup を使用しており、いくつかの入力タグから情報を解析して、それらを URL に追加し、データを自動的に投稿しようとしています。

解析しようとしている HTML の部分は次のとおりです。

<div class='theDivClass'>
    <form method="post" id="handlePurchase" name="makePurchase" action="/shop.php">
        <input type="hidden" name="ProductCode" value="A1223MN" />
        <input type="hidden" name="SystemVersion" value="3" >
        <input type="hidden" name="ProductClass" value="BOOK" />
    </form>
</div>

望ましい出力は

x = A1223MN
y = 3
z = BOOK

テキスト、画像、および URL を解析できるという意味で、JSOUP にはある程度慣れていますが、何らかの理由でこれをクリックすることはできません。

どんな助けでも大歓迎です。

4

4 に答える 4

7

これを使用できるはずです:

Elements hidden = doc.select("input[type=hidden]");

そして、 の各要素から attr 値を取得するだけhiddenです。試してみたところ、期待どおりに動作するようです。

完全を期すために:

Map<String,String> hiddenList = new HashMap<String, String>();
Elements hidden = doc.select("input[type=hidden]");
for (Element el1 : hidden){
    hiddenList.put(el1.attr("name"),el1.attr("value");
}

ドキュメント内のすべての非表示の入力フィールドのマップを提供します。

于 2011-12-19T20:19:44.620 に答える
1
Element.select("input[name=productCode]").attr("value");
Element.select("input[name=SystemVersion]").attr("value");
Element.select("input[name=ProductClass]").attr("value");
于 2011-06-28T23:22:56.607 に答える
1

私が見つけた別の方法があります:

FormElement f = (FormElement) doc.select("form#handlePurchase").first();
System.out.println(f.formData());

結果:

[ProductCode=A1223MN, SystemVersion=3, ProductClass=BOOK]
于 2014-03-28T11:23:46.610 に答える
-2

私が行ったすべての調査から明らかなように、この質問を締めくくり、「隠された」入力タイプからデータを引き出すことはできません。

于 2011-07-17T03:58:33.943 に答える