我在我的应用程序中使用Jsoup,我试图从一些输入标签中解析信息,以便将它们添加到网址并自动发布数据。
我试图解析的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
我熟悉JSOUP,因为我能够解析文本,图像和网址,但由于某些原因,这不是为了点击我。
非常感谢任何帮助。
答案 0 :(得分:7)
你应该能够使用它:
Elements hidden = doc.select("input[type=hidden]");
然后从hidden
中的每个元素中提取attr值。我刚试了一下它似乎按预期工作了。
为了完整性:
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");
}
将为您提供文档中所有隐藏输入字段的映射。
答案 1 :(得分:1)
Element.select("input[name=productCode]").attr("value");
Element.select("input[name=SystemVersion]").attr("value");
Element.select("input[name=ProductClass]").attr("value");
答案 2 :(得分:1)
我发现了另一种方式:
FormElement f = (FormElement) doc.select("form#handlePurchase").first();
System.out.println(f.formData());
结果:
[ProductCode=A1223MN, SystemVersion=3, ProductClass=BOOK]
答案 3 :(得分:-2)
从我所做的所有研究中看出这个问题,您无法从“隐藏”输入类型中提取数据。