eclipse/idea
jsoup
第一步:获取页面,并分析页面的特点,有哪些class,有哪些id,父节点和子节点的关系,代码如下:Connection.Response response = Jsoup.connect('http://127.0.0.1:8039/test/login.html') .method(Connection.Method.GET).execute(); Document dom = response.parse(); System.out.println(dom.toString());
第二步:从上面可以看到form表单的class是layui-form,那么在jsoup里面就可以根据这个class获取节点,代码如下:Elements el = dom.getElementsByClass('layui-form'); System.out.println(el.toString());
第三步:通过前一步可以看到,根据class获取节点后,返回的是一个Elements对象,这个对象里面就是当前节点和它的子节点,Elements方法如下:el.text(); // 获取非标签文本 el.html(); // 获取字节的字符串 Elements div = el.select('i'); // 获取标签对象
第四步:根据Id属性获取节点,返回的依然是一个Element对象,因为id在dom中是唯一的,所以获取的单个节点,代码如下:Element el = dom.getElementById('id');
第五步:获取input的val值,这个和jquery的方法有点类似,也是val(),代码如下:Element el = dom.getElementById('username'); System.out.println(el.toString()); String val = el.val(); System.out.println(val);
第六步:当然dom操作远不止这些,大家可以取尝试其他方法,欢迎留言一起讨论
了解dom结构