代码改变世界

使用Htmlunit上传文件

2013-11-14 00:26  _cha1R  阅读(630)  评论(0编辑  收藏  举报

使用HtmlUnit模拟浏览器操作时,我们有时候要做一些上传文件操作。这就要利用HtmlFileInput这个类了。

WebClient client = new WebClient();
HtmlPage page = client.getPage("http://login.baidu.com/");

通过page获得HtmlForm,再通过HtmlForm获得HtmlFileInput

HtmlForm form = page.getFormByName("form");
HtmlFileInput fileInput = form.getInputByName("fileInput");

通过设置valueAttribute来确定上传哪个文件

fileInput.setValueAttribute("D:\\111.jpg");

最后按下提交按钮提交

HtmlElement submitBtn = page.getElementByName("submit");
submitBtn.click();

这样就完成了一次上传文件的过程。

如果在获取HtmlForm时,发现form表单没有name属性,也可以通过

HtmlForm form = page.getForms().get(0);

来获得表单。

 

最后推荐一个学习网站,比较适合新手:Here