HtmlUnit笔记

    科技2024-12-04  19

    HtmlUnit笔记

    HtmlUnit无边界浏览器,可以实例化浏览器进行操作

    新建Maven项目

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RpmjD6c7-1602074481946)(C:\Users\崔\Downloads\maven创建.png)]

    导入依赖

    在pom.xml中导入依赖

    <dependencies> //基础依赖 <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.27</version> </dependency> //将获取到的页面中消息列表的标题和超链接URL打印到控制台,操作HTML文档的库是Jsoup,需要添加依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.3</version> </dependency> </dependencies>

    实现百度搜索案例

    package com.cui; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.*; import javax.servlet.http.HttpServlet; import java.awt.*; import java.io.IOException; /** * Hello world! */ public class App { public static void main(String[] args) { WebClient webClient = new WebClient();//实例化一个浏览器 //配置一下不加载CSS JS webClient.getOptions().setCssEnabled(false); webClient.getOptions().setJavaScriptEnabled(false); //拿到网页 HtmlPage htmlPage = null;//定义网页容器 try { htmlPage = webClient.getPage("http://baidu.com"); } catch (IOException e) { e.printStackTrace(); } //根据名字得到表单,查看源代码找到表单的名字 final HtmlForm from = htmlPage.getFormByName("f"); //同理获取百度一下按钮 final HtmlSubmitInput button = (HtmlSubmitInput) htmlPage.getElementById("su"); //同理得到搜索框 final HtmlTextInput textInput = (HtmlTextInput) htmlPage.getElementById("kw"); //输入操作内容 String s = "王者荣誉"; textInput.setValueAttribute(s); //点击按钮 HtmlPage nextPage = null;//创建一个下个页面容器 try { nextPage = button.click(); } catch (IOException e) { e.printStackTrace(); } //把结果转换成字符串 String result = nextPage.asXml(); System.out.println(result); } } ~~~java ing result = nextPage.asXml(); System.out.println(result); } }
    Processed: 0.011, SQL: 8