剛換了項目組,接觸到了htmlunit,就把官方示例翻譯一下,作為入門:
先下載依賴的相關JAR包:http://sourceforge.net/projects/htmlunit/files/
示例1:獲取javaeye網站的title
和javaeye首頁的title屬性一樣
示例二:獲取一個特定的瀏覽器版本
先下載依賴的相關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.javaeye.com");
System.out.println(htmlPage.getTitleText());
System.out.println(htmlPage.getTextContent());
}
可以看見打印出:JavaEye Java編程 Spring框架 AJAX技術 Agile敏捷軟件開發 ruby on rails實踐 - JavaEye做最棒的軟件開發交流社區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.javaeye.com");
System.out.println(htmlPage.getTitleText());
System.out.println(htmlPage.getTextContent());
}
和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());
}
示例三:獲取特定ID的DIV或者錨鏈接final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_2);
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
}
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");
}
實例四:模擬頁面提交一個formfinal 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");
}
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();
}