先下载依赖的相关JAR包:http://sourceforge.net/projects/htmlunit/files/
示例1:获取javaeye网站的title
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());
}
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属性一样
示例二:获取一个特定的浏览器版本
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());
}
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或者锚链接
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 " );
}
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
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();
}
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();
}