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();
}