Java HtmlUnit onclick执行下载文件

Java HtmlUnit onclick执行下载文件,java,htmlunit,Java,Htmlunit,下面是交易: 我正在访问一些网页(使用HtmlUnit),上面有一个按钮。我按程序点击那个按钮(非常感谢Mads Hansen) 该按钮有一个onclick事件,如下所示: onclick="document.forms[0].action="calcSaveXML_BG#POS";document.forms[0].submit()" 当我正常通过浏览器单击该按钮时,我有机会在硬盘上保存xml文件。 问题是,我希望能够以编程方式获取xml文件。这能做到吗?

下面是交易:
我正在访问一些网页(使用HtmlUnit),上面有一个按钮。我按程序点击那个按钮(非常感谢Mads Hansen)

该按钮有一个onclick事件,如下所示:

onclick="document.forms[0].action="calcSaveXML_BG#POS";document.forms[0].submit()"
当我正常通过浏览器单击该按钮时,我有机会在硬盘上保存xml文件。

问题是,我希望能够以编程方式获取xml文件。这能做到吗?

好的,我想出来了。如果有人感兴趣:

List l = page.getByXPath( "//input[@type='submit' and @value='Save as XML']" );
XmlPage result = ((HtmlSubmitInput)l.get(0)).click();
String xml = result.getContent();

try
{
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse( new java.io.ByteArrayInputStream( xml.getBytes( "UTF-8" ) ) );
    doc.getDocumentElement().normalize();
    //actual work going here
}
catch (Exception e)
{
    e.printStackTrace();
}
List l = page.getByXPath( "//input[@type='submit' and @value='Save as XML']" );
XmlPage result = ((HtmlSubmitInput)l.get(0)).click();
String xml = result.getContent();

try
{
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse( new java.io.ByteArrayInputStream( xml.getBytes( "UTF-8" ) ) );
    doc.getDocumentElement().normalize();
    //actual work going here
}
catch (Exception e)
{
    e.printStackTrace();
}