【问题标题】:How to get hidden input value with JSoup?如何使用 JSoup 获取隐藏的输入值?
【发布时间】:2015-12-16 00:05:34
【问题描述】:

我有数据

<input name="authenticity_token" type="hidden" value="aiUlw1Yh4W47lPQearSEdTkU0rhKpziZOweq5PMTV0Q=" />

我正在尝试用 Jsoup 选择它。

 Element input = doc.select("input[name=authenticity_token]").first();

 String auth_token = input.attr("value");

但这不起作用。

我在 String auth_token = 处收到一个空指针异常。

crime.ic.Main.main(Main.java:2) 处的 java.lang.NullPointerException

我做错了什么?

【问题讨论】:

  • 仍然无法正常工作.. 以前编辑过。
  • 您确定doc 包含您要搜索的元素吗?也许它们是由 JavaScript 生成的,在这种情况下它们不是接收/解析的 HTML 的一部分。
  • 您可以将代码中访问的网址添加到您的帖子中吗?
  • 我有同样的问题:我可以在 IE 开发面板中看到值,但在检索到的文档中看不到。显示了其他属性,但只有 value 没有显示。我可以在网页中看到值。

标签: java jsoup


【解决方案1】:

经过一番研究,我想我知道这里发生了什么:您要加载的内容可能来自某些 JavaScript,并且在页面加载时不可见/不存在。 JS 的加载发生在之后并且将数据填充到位,这不是 Jsoup 可以做到的。所以它是 Jsoup 无法企及的。

我们需要的是模拟/自动加载 JS。存在这样的工具。

我发现 this answerthis question 很有帮助。

【讨论】:

    【解决方案2】:

    如果您检查此demo,您会发现这种情况完全没有问题,并且选择了输入。

    我相信可能存在另一个没有值的同名输入。如果不是这种情况,请在 JSoup github 页面上发布问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多