使用Htmlunit上传文件

使用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

原文地址:https://www.cnblogs.com/cha1r/p/3422490.html