网页无法识别 HtmlUnit 设置的文本

Text set by HtmlUnit is not recognized by web page

我正在尝试使用 HtmlUnit 填写一个表单,该表单对其输入设置了一些条件(例如,一个输入的值必须至少为 3 个字符长)。我使用 HtmlInput 的 setValueAttribute 方法来填写表单,但是当它单击提交按钮时,网站会显示一条错误消息,指出给定值短于 3 个字符,而实际上并非如此。似乎当通过 HtmlUnit 设置值时,网站无法识别给定值的长度。有什么办法可以解决这个问题吗?

这是我使用的代码:

HtmlInput intputBoxName = (HtmlInput) page.getFirstByXPath("//input[@id='usernamePart']");
intputBoxName.setValueAttribute("value");

我还发现,如果我在设置值之前使用 inputBoxName.click(),则根本没有设置该值。

您应该改用 inputBoxName.type("value"),因为 setValueAttribute 不会触发 JavaScript 句柄。