所以,我在 JSoup 中遇到了问题。
我需要为一些表单输入值解析 HTML 页面,如下所示:
<input value="210cf5f0c2db3ac6ac5112881525cfff" data-value="1355317682" type="hidden" name="token" />
<input type="hidden" name="sid" value="18c03bc9nkedyyjmbzgvmkv5tx7yhyw1" />
<input value="" name="redirect" type="hidden" />
<input value="d3edfe5b37608758516833b858b51b63" type="hidden" name="eyhy7xt5v" />
我需要能够获取每个输入的值,但一次一个。我当前的 Java 代码如下所示:
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
class JSoupTest {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://url.com/auth").get();
Elements inputs = doc.select("input");
for(Element input : inputs) {
System.out.println(input.attr("name"));
System.out.println(input.attr("value"));
}
}
}
它目前转储了所有输入的名称及其值,但我需要程序只输出某个输入字段的值。
比如,假设我想输出名为“sid”的输入字段的值。我只需要打印那个值,其他的都不需要。
我只需要以某种方式进行这样的选择性打印,我想你可以说。只需打印某个输入字段的值。
有谁知道如何做到这一点?
在 JSoup 文档中,我一直在查看此页面,但找不到所需的内容。
谢谢!
编辑:我刚刚意识到,每次刷新页面时都会随机生成最后一个值的名称。如果除了“隐藏”特征之外没有任何保持不变的值,有什么办法可以抓住它?