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