HtmlUnit动态执行js函数
生活随笔
收集整理的這篇文章主要介紹了
HtmlUnit动态执行js函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
功能:動態(tài)指定js函數(shù),實際上這個效果不是很有用,這里就做一個記錄而已,參考代碼如下:
package com; import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.ScriptResult; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.DomElement; import com.gargoylesoftware.htmlunit.html.DomNodeList; import com.gargoylesoftware.htmlunit.html.HtmlAnchor; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.javascript.host.event.Event; public class EBayHU {public static void main(String[] args) { WebClient webClient = new WebClient(BrowserVersion.CHROME); //創(chuàng)建一個webclient webClient.getOptions().setJavaScriptEnabled(true); // 啟動JS webClient.getOptions().setUseInsecureSSL(true);//忽略ssl認證 webClient.getOptions().setCssEnabled(false);//禁用Css,可避免自動二次請求CSS進行渲染 webClient.getOptions().setThrowExceptionOnScriptError(false);//運行錯誤時,不拋出異常 webClient.setAjaxController(new NicelyResynchronizingAjaxController());// 設(shè)置Ajax異步try {HtmlPage page=webClient.getPage("url");webClient.waitForBackgroundJavaScript(10000);HtmlElement propic =page.getHtmlElementById("viEnlargeImgLayer_layer_fs");DomNodeList<HtmlElement> picnodes=propic.getElementsByTagName("img");for(int m=0;m<picnodes.size();m++){HtmlElement pic=picnodes.get(m);System.out.println(pic.asXml());//響應(yīng)事件//Event event=new Event();//event.setEventType(Event.TYPE_KEY_DOWN);//HtmlPage hpm=pic.click(event); //bpic.fireEvent(event);//執(zhí)行js String hrefValue = "javascript:add(1,1,'+');";ScriptResult s = page.executeJavaScript(hrefValue);//執(zhí)行js方法HtmlPage hpm=(HtmlPage) s.getNewPage();//獲得執(zhí)行后的新page對象 webClient.waitForBackgroundJavaScript(10000);HtmlElement lpic=hpm.getHtmlElementById("viEnlargeImgLayer_img_ctr");System.out.println(lpic.asXml()); } } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的HtmlUnit动态执行js函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟浏览器自动化测试工具Selenium
- 下一篇: Java String关于replace