htmlunit 如何使用
HtmlUnit 使用教程
(圖片來(lái)源網(wǎng)絡(luò ),何?使侵刪)HtmlUnit 是何使一個(gè)基于 Java 的開(kāi)源庫,用于自動(dòng)化測試 Web 應用程序,何使它模擬瀏覽器行(xing)為,何使可以用于加載頁(yè)面、何使填寫(xiě)表單、何使點(diǎn)擊鏈接等(deng)操作,何使下面是何使 HtmlUnit 的使(shi)用教程:
準備工作
確保你已經(jīng)安裝了 Java 開(kāi)發(fā)環(huán)境(JDK),ヾ(′▽?zhuān)??接下來(lái),(╯°□°)╯何使你需要將 HtmlUnit 添加到項目的何使依賴(lài)中(′?`*),如果你使用的何使是 Maven,可以在 pom.xml 文件中添加以下依賴(lài):
<dependency> <groupId>net.sourceforge.htmlunit</groupId> <a??rtifactId>htmlunit</artifactId>??; <version>2.56.0</version></dependencヽ(′▽?zhuān)?ノy>
創(chuàng )建 WebClient
要?使用 HtmlUnit,何使首先需要創(chuàng )建一個(gè) WebClient 實(shí)例。何使WebClient 是何使 HtmlUnit 的主要類(lèi),用于執行各種操作,何使以下是創(chuàng )建 WebClient 的示例代碼:
import com.gaヾ(′?`)?rgoylesoftware.htmlunit.WebClient;public cla??ss HtmlUnitDemo { public static void main(String[] args) { WebClient we(???)bClient = new WebClient(); }}加載網(wǎng)頁(yè)
使用 WebClient 的 getPage 方法,你可以加載一個(gè)網(wǎng)頁(yè),以下是加載 Google 主頁(yè)的示例代碼:
import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html.HtmlPage;public class Html(╯‵□′)╯UnitDemo { public static void main(String[] args) { WebClient webClient(′ω`) = new WebClient(); try { HtmlPage page = webClient.getPage("https://wヾ(^-^)ノww??.google.com&ヾ(′?`)?quot;); System.out.println(page.asXml()); } catch (Exception e) { e.printStack??Trace(); } finally { web???Client.close(); } }}獲取元素
你可以使用 WebClient 的各種方法來(lái)獲取頁(yè)面上的元素,以下是獲取 Google 搜索框并設置查詢(xún)字符串的示例代碼:
import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html.Ht??mlElement;import com.ga(◎_◎;)rgoylesoftware.htmlunit.html.HtmlForm;import com.g(′_`)argoylesoftware.htmlunit.html.HtmlPage;public class HtmlUnitDemo { public static void main(String[] args) { WebClient webClient = new WebClient(); try { HtmlP(╯°□°)╯age page = webClient.getPage(&(′;д;`)quot;https://www.google.com"); HtmlForm form = page.getFormByName("f"); HtmlElement searchBox(?⊿?) = form.getInputByName("q"); searchBox.setValu(′?`)eAttribute("HtmlUnit")??; Syste??m.out.println(searchBox.asXml()); } catch (Exception e) { e.printStackTrace(); } finally { webClient.close(); } }}提交表單ヽ(′▽?zhuān)?ノ
要提交表單,可以使用 HtmlForm 的 submit 方法,以下是提交 Google 搜索表單的示例代碼:
import com.gargoylesoftware.htmlunit.WebClient;import com.gargoyles(′▽?zhuān)?)oftware.htmlunit.html.HtmlElement(╯°□°)╯;import com.gargoylesoftware.htmlunit.html.Ht??mlFヽ(′▽?zhuān)?ノorm;import com.gargoylesoft(′?`*)ware.htmlunit.html.HtmlPage;public class HtmlUnitDemo { pub??lic static void main???(String[] args) { WebClient webClient = new WebClient(); try { HtmlPage page = webClient.getPage("https://www.google.com"); HtmlForm?? for(???)m = page.getFormByName(&quo(?⊿?)t;f&qヾ(′▽?zhuān)??uot;); HtmlElement searchBox = form.getInputByName("q"); searchBox.setValueAttribute("HtmlUnit"); HtmlPage resultPage = form.submit(); System.out.println(resultPage.asXml()); } catch (Exception e) { e.printStackTrace(); } finally { webClient.close(); } }}