JSOUP - 从两个div中提取值时遇到麻烦

时间:2014-03-16 13:16:33

标签: android parsing jsoup fetch

嗨,我试图从两个隐藏的输入中获取值。 (__VIEWSTATE和__EVENTVALIDATION)

<form name="FormLogin" method="post" action="Same.aspx" id="FormLogin">
<div>
<input type="hidden" name="__OTHER" id="__OTHER" value="SOME not importent value" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/someLongValuewhatIwant=" />
</div>
<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/someOtherValueWhatIwant" />
</div>
</form>

我的代码

  doc = Jsoup.connect("http://example.com/index.aspx").get();
            Elements input = doc.select("input[type=hidden]");
            Element viewst = input.select("#__VIEWSTATE").get(0);
            Element eventvd = input.select("#__EVENTVALIDATION]").get(0);
            viewstate = viewst.val();
            eventvalidation = eventvd.val();

但是当我尝试获取__EVENTVALIDATION值时,我总是只获得__VIEWSTATE值并且我的应用程序崩溃了。有人可以解释一下为什么吗?以及如何使它工作?

1 个答案:

答案 0 :(得分:1)

当选择匹配表达式无法匹配给定doc中的任何元素时,Jsoup总是崩溃android,在你的情况下#__EVENTVALIDATION不在你的输入元素上。 如果#__EVENTVALIDATION存在,请检查您的元素输入。

顺便说一句:在您的代码中,您可以通过选择#id标记直接访问任何元素。例如

doc = Jsoup.connect("http://instantgram.ic.cz/index.html").get();


Elements eventvd = doc.select("input[id =__EVENTVALIDATION");