当前位置: 首页 > 知识库问答 >
问题:

如何使用JSoup获取隐藏的输入值?

唐海阳
2023-03-14

我有数据

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

我正试图选择它与J汤。

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

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

但这不起作用。

我在字符串auth_token=处收到空指针异常。

java.lang.crime.ic.Main.main(Main.java: 2)

我做错了什么?

共有2个答案

田化
2023-03-14

如果你检查这个演示,你会发现在这个案例中没有任何问题,输入被选中。

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

萧展鹏
2023-03-14

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

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

我发现这个答案和这个问题很有帮助。

 类似资料:
  • 有多个包含美国专利No.9,000,000的转让数据的div元素出现在行下面 有办法用JSOUP提取这个隐藏的html吗?

  • 我试图用web表单做一个web调查应用程序。问题是我在调查创建部分有麻烦。

  • 我正在尝试编写一个拒绝非Ajax请求的指令。下面的代码显然不起作用: (此处有2个问题:是&是和是&是。因此它不编译) 我的问题是:我可以有一个局部范围的摘录吗?与中一样,不会转义。 我知道我可以访问请求来拉出头,而不使用,所以请不要这样回答。

  • 我有一个代码与许多评论,我如何可以隐藏这些,但没有删除,我需要他们之后。

  • 我有一些url。我想从url指向的html中获取所有href,从所有获取的hrefs中获取所有href(递归)。关键是我想设置“递归”的深度。例如,如果深度=1,我只需要来自超文本标记语言的href。如果深度=2,我需要来自超文本标记语言的hrefs(假设为list1)和来自list1的每个href的hrefs,依此类推 以下是我使用jsoup得到的结果: 我应该如何修复递归条件以使其正确?

  • 问题内容: 我正在使用Selenium的WebDriver和Python编码。 有一个隐藏的输入字段,我试图在其中插入特定的日期值。该字段最初会产生一个日历,用户可以从中选择一个合适的日期,但是与直接插入合适的日期值相比,模拟起来似乎要复杂得多。 该页面的源代码如下所示: 我要在其中插入值的字段在哪里(它最初是空的,即:。 我了解WebDriver无法将值插入隐藏的输入中,因为常规用户无法在浏览器