嗨,我试图从两个隐藏的输入中获取值。 (__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值并且我的应用程序崩溃了。有人可以解释一下为什么吗?以及如何使它工作?
答案 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");