Javascript HtmlUnit:HtmlPage序列化异常

Javascript HtmlUnit:HtmlPage序列化异常,javascript,css,htmlunit,serializable,Javascript,Css,Htmlunit,Serializable,在使用HtmlUnit-2.13在HTML标记上执行注入样式属性的JavaScript函数后,我们无法序列化生成的HtmlPage,并收到以下错误: java.io.NotSerializableException:com.gargoylesoftware.htmlunit.javascript.host.css.CSSStyleDeclaration$StyleElement at java.io.ObjectOutputStream.writeObject0(Unknown Source)

在使用HtmlUnit-2.13在HTML标记上执行注入样式属性的JavaScript函数后,我们无法序列化生成的HtmlPage,并收到以下错误:

java.io.NotSerializableException:com.gargoylesoftware.htmlunit.javascript.host.css.CSSStyleDeclaration$StyleElement
 at java.io.ObjectOutputStream.writeObject0(Unknown Source)
 at java.io.ObjectOutputStream.writeObject(Unknown Source)
 at java.util.HashMap.writeObject(Unknown Source)
 at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
 at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
 at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
 at java.io.ObjectOutputStream.writeObject0(Unknown Source)
 at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
如果style属性位于页面上且未被注入,则可以毫无问题地序列化页面

2013年4月12日更新: 我发现问题位于此字段:

私有映射样式映射

它是CSSStyleDeclaration类的成员。StyleElement类未实现可序列化接口

最初,该字段等于null,不会出现任何问题。但是,一旦执行了JavaScript事件,映射就不再指向null,并且抛出异常


我做错什么了吗?该字段应始终为空,或者之前没有人尝试序列化该类?

我也遇到了同样的问题。我创建了一个bug,现在已经修复了:
因此,您可以使用他们的SVN的最新版本,它运行良好

您是如何序列化页面的?我使用以下代码段:ByteArrayOutputStream bos=newbytearrayoutputstream;ObjectOutput out=null;尝试{out=new ObjectOutputStreambos;out.writeObjectpage;}捕获异常ex{ex.printStackTraceSystem.out;}最后{out.close;bos.close;}返回bos.toByteArray;