java - 使用 Java 和 Jaunt API 填写具有复杂名称(输入标签中的点符号)的 HTML 表单

标签 java html jsoup jaunt-api

- 大家好,

我正在构建一个 Java 工具,尝试使用 Java 和 Jaunt API 在 HTML 页面中自动填写一些表单 input 元素。

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>

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

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 做到这一点。

在这方面,我们将不胜感激。

提前致谢

编辑 - 有没有办法用 JSoup 到达点标记的输入字段 searchprofile.surname

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

最佳答案

不确定 Jaunt,以前从未使用过。然而,Jsoup 似乎是一个相当不错的库,可以在这里使用。我自己已经使用 Jsoup 相当长的时间了,它在抓取网页填写输入表单并提交以及当然是HTML 解析!

我已经发布了一步一步的指南来填写表单输入字段并在以下答案中提交给服务器:How to login with Jsoup

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

Connection.Response response = Jsoup.connect(url)
                                    .data("Name", "Value")
                                    .method(Method.POST).execute();

关于java - 使用 Java 和 Jaunt API 填写具有复杂名称(输入标签中的点符号)的 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919034/

相关文章:

java - Azure Functions - 如何使用默认 `MultipartHttpServletRequest` 方法中的 `run()` 类?

java - 我正在Android Studio中进行编码,因此我需要从特定网页中获取并显示特定的数据行

java - 动态内容解析

javascript - 如何自定义字段类型验证的默认浏览器错误消息?

java - 使用 Jsoup 以正确的格式从网页中提取相对链接

java - 将 JFreeChart TimeSeries 限制为工作时间

java - Swing java 中出现错误 - IllegalArgumentException

java - 玩框架! (1.2.4): null first several dynamic parameters

html - HTML 中的 TAB 菜单

javascript - 使用鼠标和触摸水平滚动 div