网页无法识别 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 句柄。
我正在尝试使用 HtmlUnit 填写一个表单,该表单对其输入设置了一些条件(例如,一个输入的值必须至少为 3 个字符长)。我使用 HtmlInput 的 setValueAttribute
方法来填写表单,但是当它单击提交按钮时,网站会显示一条错误消息,指出给定值短于 3 个字符,而实际上并非如此。似乎当通过 HtmlUnit 设置值时,网站无法识别给定值的长度。有什么办法可以解决这个问题吗?
这是我使用的代码:
HtmlInput intputBoxName = (HtmlInput) page.getFirstByXPath("//input[@id='usernamePart']");
intputBoxName.setValueAttribute("value");
我还发现,如果我在设置值之前使用 inputBoxName.click()
,则根本没有设置该值。
您应该改用 inputBoxName.type("value")
,因为 setValueAttribute
不会触发 JavaScript 句柄。