基于HtmlUnit获取页面及复选框元素、单击事件操作
来源:互联网 发布:java序列化 编辑:程序博客网 时间:2024/06/16 15:46
常用WebClient的参数设置
//1.创建对象
WebClient webClient=newWebClient(BrowserVersion.CHROME);
//2.设置参数
//启动js
webClient.getOptions().setJavaScriptEnabled(true);
//关闭css渲染
webClient.getOptions().setCssEnabled(false);
//启动重定向
webClient.getOptions().setRedirectEnabled(true);
//启动cookie管理
webClient.setCookieManager(newCookieManager());
//启动ajax代理
webClient.setAjaxController(newNicelyResynchronizingAjaxController());
//js运行时错误,是否抛出异常
webClient.getOptions().setThrowExceptionOnScriptError(false);
//3.获取页面
HtmlPage page=webClient.getPage(url);
//等待js渲染执行 waitime等待时间(ms)
webClient.waitForBackgroundJavaScript(waitime);
斗鱼页面的获取示例:
public void getPage(){ String url = Constants.DOU_YU_URL + XMLTools.getNodeValue(Constants.SETTINGS_PATH,"roomID",""); logger.info("请求地址为:"+url);// String url = "http://www.douyu.com"; try { HtmlPage page = webClient.getPage(url); //logger.info(page.asText()); DomNodeList domNodeList = page.getElementsByTagName("class"); page.getPageEncoding(); logger.info("页面中class的个数"+domNodeList.size()); logger.info("页面编码:"+page.getPageEncoding()); List<HtmlAnchor> listAnchor= page.getAnchors(); for(HtmlAnchor anchor:listAnchor){ logger.info("页面中链接:"+anchor.getHrefAttribute()); } } catch (IOException e) { logger.info(e.getMessage()); }
获取页面中复选框及模拟单击事件部分代码:
WebClient初始化及基本设置、获取页面等参考上面。
URL mainUrl = new URL("https://vendorcentral.amazon.cn/gp/vendor/members/obieeReports/araBasic/ara-basic?ref_=vc_ven-obiee-ara-basic-home_subNav"); HtmlPage mainHtml = webClient.getPage(mainUrl); //模拟点击跳转 HtmlSelect select = (HtmlSelect) mainHtml.getElementById("report-selector");// select.setSelectedAttribute("/st/vendor/members/analytics/basic/productDetail",true); HtmlOption option = select.getOptionByText("销售和库存 - 商品详情"); HtmlPage page3 = option.click();
阅读全文
0 0
- 基于HtmlUnit获取页面及复选框元素、单击事件操作
- JAVA获取页面元素之HtmlUnit
- 基于HtmlUnit获取页面表格信息
- selenium常用命令之操作页面元素及获取元素内容的事件整理
- jquey操作checkbox,全选,单击,获取值,单击文字选中复选框
- htmlunit获取指定元素
- 单击文字选中复选框事件
- table单击变色事件与选中表前复选框。
- jquery 获取页面url,并根据url模拟单击事件
- 移除元素单击事件
- servlet中获取页面复选框数据
- TreeView单击选中复选框
- checkbox复选框使用及选定事件
- [jQuery] Dom元素操作和事件获取
- Javascript获取页面标签元素操作
- 基于HtmlUnit实现简单登录、页面跳转以及获取有用数据部分代码示例(示例网站:大润发)
- jQuery获取页面及元素高度、宽度
- jqgrid 单击事件获取数据
- Mysql触发器
- Apache 服务器无法正常工作问题
- 【Away3D代码解读】(三):渲染核心流程(渲染)
- Java设计模式简介
- HUSTOJ随笔3-配置文件
- 基于HtmlUnit获取页面及复选框元素、单击事件操作
- C语言中的数据类型和隐式转换
- PHP面向对象特性-继承
- bootstrap-dataTable重写表格位置
- selenium的第一次操作总结
- Linux输入子系统学习笔记
- 现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅Android可以用,iOS也可
- Eclipse启动失败java was started but returned exit code=1
- 百度2017春招笔试真题编程题集合--有趣的排序