先下载依赖的相关JAR包:http://sourceforge.net/projects/htmlunit/files/
示例1:获取javaeye网站的title
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
import
com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import
com.gargoylesoftware.htmlunit.WebClient;
import
com.gargoylesoftware.htmlunit.html.HtmlPage;
public
static
void
getHomeTile()
throws
FailingHttpStatusCodeException, MalformedURLException, IOException{
final
WebClient webClient
=
new
WebClient();
final
HtmlPage htmlPage
=
webClient.getPage(
"
http://www.iteye.com
"
);
System.out.println(htmlPage.getTitleText());
System.out.println(htmlPage.getTextContent());
}
可以看见打印出:JavaEye Java编程 Spring框架 AJAX技术 Agile敏捷软件开发 ruby on rails实践 - JavaEye做最棒的软件开发交流社区
和javaeye首页的title属性一样
示例二:获取一个特定的浏览器版本
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
public
void
homePage_Firefox()
throws
Exception {
final
WebClient webClient
=
new
WebClient(BrowserVersion.FIREFOX_2);
final
HtmlPage page
=
webClient.getPage(
"
http://htmlunit.sourceforge.net
"
);
assertEquals(
"
HtmlUnit - Welcome to HtmlUnit
"
, page.getTitleText());
}
示例三:获取特定ID的DIV或者锚链接
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
public
void
getElements()
throws
Exception {
final
WebClient webClient
=
new
WebClient();
final
HtmlPage page
=
webClient.getPage(
"
http://some_url
"
);
final
HtmlDivision div
=
page.getHtmlElementById(
"
some_div_id
"
);
final
HtmlAnchor anchor
=
page.getAnchorByName(
"
anchor_name
"
);
}
实例四:模拟页面提交一个form
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
public
void
submittingForm()
throws
Exception {
final
WebClient webClient
=
new
WebClient();
//
Get the first page
final
HtmlPage page1
=
webClient.getPage(
"
http://some_url
"
);
//
Get the form that we are dealing with and within that form,
//
find the submit button and the field that we want to change.
final
HtmlForm form
=
page1.getFormByName(
"
myform
"
);
final
HtmlSubmitInput button
=
form.getInputByName(
"
submitbutton
"
);
final
HtmlTextInput textField
=
form.getInputByName(
"
userid
"
);
//
Change the value of the text field
textField.setValueAttribute(
"
root
"
);
//
Now submit the form by clicking the button and get back the second page.
final
HtmlPage page2
=
button.click();
}