2

- 嘿伙计,

我正在构建一个 Java 工具,尝试input使用 Java 和Jaunt API.

HTML代码是这样的:

<fieldset class = "fieldsetlong">
<legend>searchprofile</legend>
<label for="reference">reference:</label>
<input maxlength="50" name="reference" id="reference" type="text" />
</fieldset>

<fieldset class = "fieldsetlong">
<legend>searchcriteria</legend>
<label for="surname">surname:</label>
<input name="searchprofile.surname" id="surname" type="text" />
</fieldset>

用于填写“正常”输入字段reference(有效)的 Java 代码如下所示:

form.set("reference", "123Test");

不幸的是,我无法填写searchprofile.surname名称中使用点符号的字段

这是我尝试过的示例(没有成功):

form.set("surname", "TestPerson");
form.set("searchprofile.surname", "TestPerson");
form.set("name=\"searchprofile.surname\"", pers.getSurname());
form.set("id=\"surname\"", pers.getSurname());

对于这些命令中的每一个,我都会收到 NotFoundException 并且不知道我是否可以使用 Jaunt 执行此操作。

在这方面提供任何帮助将不胜感激。

提前致谢

编辑 - 有没有办法searchprofile.surname使用 JSoup 到达带点符号的输入字段?

HTML 允许在 -Attribute 中使用点name,但 Jaunt 接受abc.name吗?

4

2 回答 2

1

不清楚Jaunt,以前没用过。然而Jsoup,这里似乎是一个相当不错的库。我自己已经使用Jsoup了相当长的时间,它在抓取网页填写输入表单和提交,当然还有HTML解析方面非常成功!

我在以下答案中发布了填写表单输入字段并提交到服务器的分步指南:如何使用 Jsoup 登录

基本上它的工作原理与您的代码非常相似,一个非常简短的示例是:

Connection.Response response = Jsoup.connect(url)
                                    .data("Name", "Value")
                                    .method(Method.POST).execute();
于 2015-11-25T22:49:26.147 回答
0

今天,在工作中的Jaunt解决方案

form.set("searchprofile.surname", "TestPerson");

像魅力一样工作。

我不知道之前的问题是什么,但我很高兴它起作用了。

允许使用点和减号等,我将HTML其误解为某种嵌套形式或层次结构,但点符号name只是HTML.

于 2015-11-26T13:46:59.473 回答