代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
htmlunit的工具类
作者:
zengzhan
/ 发布于
2015/8/3
/
661
public static void testYouku() throws Exception { String url = "http://v.youku.com/v_show/id_XNDc2MDkzMTIw.html"; String xurl = "http://v.youku.com/v_vpofficiallistv5/id_119023280_showid_271942_page_2?__rt=1&__ro=listitem_page2"; // String a = "<a page=\"2\">178-101</a>"; // String url="http://www.baidu.com"; // 模拟一个浏览器 final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17); LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log","org.apache.commons.logging.impl.NoOpLog"); java.util.logging.Logger.getLogger("net.sourceforge.htmlunit").setLevel(java.util.logging.Level.OFF); webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); // final WebClient webClient=new // WebClient(BrowserVersion.FIREFOX_10,"http://myproxyserver",8000); // //使用代理 // final WebClient webClient2=new // WebClient(BrowserVersion.INTERNET_EXPLORER_10); // 设置webClient的相关参数 webClient.getOptions().setJavaScriptEnabled(true); webClient.getOptions().setActiveXNative(false); webClient.getOptions().setCssEnabled(false); webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.waitForBackgroundJavaScript(600*1000); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); webClient.getOptions().setJavaScriptEnabled(true); /* webClient.setJavaScriptTimeout(3600*1000); webClient.getOptions().setRedirectEnabled(true); webClient.getOptions().setThrowExceptionOnScriptError(true); webClient.getOptions().setThrowExceptionOnFailingStatusCode(true); webClient.getOptions().setTimeout(3600*1000); webClient.waitForBackgroundJavaScript(600*1000); */ // webClient.waitForBackgroundJavaScript(600*1000); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); // 模拟浏览器打开一个目标网址 final HtmlPage page = webClient.getPage(url); // 该方法在getPage()方法之后调用才能生效 webClient.waitForBackgroundJavaScript(1000*3); webClient.setJavaScriptTimeout(0); // Thread.sleep(1000 *3L); // String js = "javascript:checkShowFollow('271942','2');"; // ScriptResult sr = page.executeJavaScript(js); // HtmlPage newPage = (HtmlPage) sr.getNewPage(); // System.out.println("new page.asText=" + newPage.asText()); // System.out.println("page.asText=" + page.asText()); // System.out.println("page.getUrl=" + page.getUrl()); List links = (List) page.getByXPath ("//*[@id=\"groups_tab\"]/div[1]/ul/li[1]/a"); if(null!=links){ System.out.println(links.size()); HtmlAnchor link = (HtmlAnchor) links.get(0); System.out.println(link.asXml()); HtmlPage p = link.click(); webClient.waitForBackgroundJavaScript(1000*3L); // webClient.waitForBackgroundJavaScriptStartingBefore(1000L); // Thread.sleep(3000L); System.out.println(p.asText()); } }
试试其它关键字
htmlunit
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
zengzhan
贡献的其它代码
(
4
)
.
设置壁纸
.
htmlunit的工具类
.
实现二维码的扫描功能
.
高性能IP数据库格式 快速查询
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3