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