htmlparser设置表单属性值
生活随笔
收集整理的這篇文章主要介紹了
htmlparser设置表单属性值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
想用htmlparser實現自動填寫表單并提交,但暫時實現不了提交,計劃通過httpclient實現。htmlparser可實現設置表單屬性值,但貌似意義不大,其主要價值在解析html網頁。設置表單屬性值的代碼如下:
package an;import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.filters.AndFilter; import org.htmlparser.filters.HasAttributeFilter; import org.htmlparser.filters.NodeClassFilter; import org.htmlparser.tags.InputTag; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException;public class PostForm {/** 自動填單*/public String hcPost(String url) throws ParserException {Parser parser = new Parser(url); parser.setEncoding(parser.getEncoding());//提取節點NodeFilter inputFilter = new NodeClassFilter(InputTag.class); NodeFilter attrFilter = new HasAttributeFilter("name","wd"); NodeFilter andFilter = new AndFilter(inputFilter,attrFilter); NodeList nodeList = parser.parse(andFilter); //設置節點for (int i = 0; i < nodeList.size(); i++){InputTag inputTag = (InputTag)nodeList.elementAt(i);if(inputTag.getAttribute("name").equals("wd")){inputTag.setAttribute("value","百度");System.out.println(inputTag.toHtml());} }return "yes";}public static void main(String[]args) throws Exception{PostForm pf=new PostForm();String cont=pf.hcPost("http://www.baidu.com");//打印輸出結果內容 System.out.println(cont); } } 需提前知道百度網頁的屬性名(IE瀏覽器F12可查看html頁面元素),執行結果如下:<input id="kw" name="wd" class="s_ipt" value="百度" maxlength="255" autocomplete="off">總結
以上是生活随笔為你收集整理的htmlparser设置表单属性值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: htmlparser新建tag类(以if
- 下一篇: ubuntu15.10安装wiresha