我有数据
Element input = doc.select("input[name=authenticity_token]").first();
String auth_token = input.attr("value");
我试图用Jsoup选择它。
try {
$user->update(array(
'group' => Input::get('group')
),'username',Input::get('username'));
Session::flash('home','Your grup has been updated');
Redirect::to('index.php');
} catch(Exception $e) {
die($e->getMessage());
}
<h3>1: Standard User</h3>
<h3>2: Administrator</h3>
<h3>3: Moderator</h3>
<h3>4: Admin/Mod</h3>
<form action="" method="post" autocomplete="off">
<label for="group">Change Group to</label>
<input type="number" name="group" id="group">
<label for="username">for this username</label>
<input type="text" name="username" id="username">
<input type="submit" value="Change Group">
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
</form>
但这不起作用。
我在String auth_token =。
收到空指针异常在crime.ic.Main.main(Main.java:2)的java.lang.NullPointerException
我做错了什么?
答案 0 :(得分:1)
经过一番研究后,我想我知道这里会发生什么:您要加载的内容可能来自某些JavaScript,并且在页面加载时不可见/不存在。 JS的加载发生在此后填充数据到位,这不是Jsoup可以做到的。因此,这是Jsoup无法实现的。
我们需要的是模拟/自动加载JS。存在这样的工具。
我发现this answer和this question很有帮助。
答案 1 :(得分:0)
如果你检查这个demo,你会发现在这种情况下根本没有问题,选择了输入。
我相信可能有另一个具有相同名称且没有值的输入。如果不是这种情况,请在JSoup github页面上发布该问题。