- 浏览: 3422383 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
自动投票
对163所有新闻的截图例子这只是一个casper 1.0.x版本的语法例子。
删除持续集成hudson里面的一些部署历史
var casper = require('casper').create({ verbose: true, //logLevel: 'debug', pageSettings: { loadImages: false, loadPlugins: true, userAgent: 'Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0' }, viewportSize: { width: 1024, height: 768 }, clientScripts: [ '/home/pandy/PhantomJS/demo/toupiao/jquery.js' //'http://libs.baidu.com/jquery/1.9.0/jquery.js' //引入jquery //但是类似this.test.assertExists(".rh_ui_icon li a:first","存在链接")测试失败, //还不知道原因和解决办法 ], onError: function(self,m){//错误回调函数 this.capture("error.png"); console.log("onError===========================FATAL:" + m); self.exit(); }, onAlert: function (msg) {//alert的回调函数 console.log("onAlert===========================msg:" + msg); } }); //phantom.outputEncoding="gbk"; //casper.options.viewportSize = {width: 1680, height: 924}; /* //=============> A: 第1种方式 casper.start('http://www.cnave.com/xjz/index.php?m=content&c=index&a=toupiao&id=42',function(){ this.capture("c:/test.png",{ top: 00, left: 0, width: 1024, height: 768 }); var date = new Date(); this.echo(date.getTime()+"====================>capture over"); }); casper.run(); */ //=============> B:第2种方式 casper.start('http://www.cnave.com/xjz/',function(){ this.capture("/home/pandy/PhantomJS/demo/toupiao/test2.png",{ top: 00, left: 0, width: 1366, height: 768 }); var date = new Date(); this.echo(date.getTime()+"====================>capture over"); var nameCount = this.evaluate(function() { var names = $("a[onclick='toupiao(8)']"); names.trigger("click"); return names.length; }); this.echo(nameCount); }); casper.run();
对163所有新闻的截图例子这只是一个casper 1.0.x版本的语法例子。
//casperjs /mnt/D/work_documents/workspace_ide/phantomjs_casperjs/casperjs/list_163_new.js var casper = require("casper").create({ verbose: true, logLevel: "info", viewportSize: [1366, 678], pageSettings:{ //定义一些变量 }, clientScripts: [ //"http://code.jquery.com/jquery-1.9.0.js" ], onAlert: function (msg) { }, onError: function () { console.log("错误","error"); } }); var utils = require("utils"); var url = "http://news.163.com"; var d1 = new Date(); var count=0; //一个计数器 var links = []; //用于记录所有匹配的链接 console.log("开始启动程序"); //启动 casper.start(url, function () { console.log("打开标题:"+this.getTitle()); }); casper.then(function () { console.log("匹配链接"); links = this.evaluate(function () { return [].map.call(__utils__.findAll('.area-main .main-list a'), function (node) { return node.getAttribute('href'); }); }); }); casper.then(function(){ console.log("打开链接并截图"); this.each(links, function (self, link) { console.log(link); self.thenOpen(link,function(){ var path=link.substring(7);//去掉http:// console.log("截图["+links.length+":"+count+"] title=>"+this.getTitle()); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/"+path+".png"); count++; }); }); }); casper.then(function(){ console.log("计算耗时"); var d2=new Date(); var i=d2.getTime()-d1.getTime(); console.log("共使用了 "+(i)/1000+" s导出"+count+"张图片."); }) casper.run(function () { console.log("操作完成."); casper.exit(); });
删除持续集成hudson里面的一些部署历史
// casperjs /mnt/D/work_documents/workspace_ide/phantomjs_casperjs/casperjs/hudson_dev_cpm_delete.js casper = require("casper").create({ viewportSize: {width: 1366, height: 768}, onError: function (msg, backtrace) { this.echo("出现错误信息:\n" + msg + "\n" + backtrace); }, onAlert: function (msg) { this.echo("Alert:\n" + msg); } }); //要删除任务名称 jobName="dev_cpm_disabled"; //hudson的地址 url = "http://192.168.0.170:8081/hudson3/"; //删除最大历史记录数,用于循环 max_record=100; //启动 casper.start(url, function () { this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/1_start.png"); this.echo("启动程序...."); this.echo(this.getTitle()); }); //为登录准备 casper.then(function () { this.click("#login-field a"); //this.click(x('//td[@id="login-field"]//a[1]')); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/2_login.png"); this.echo("点击登录的范围"); }); //输入登录信息 casper.then(function () { this.fill("form[id='loginForm']", { "j_username": "admin", "j_password": "admin" }, false); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/3_login.png"); this.echo("等待点击登录按钮"); }); //点击登录按钮 casper.then(function () { this.click("div.ui-dialog-buttonset button"); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/4_login.png"); this.echo("已经点击登录按钮, 跳转等待....."); this.wait(3000, function () { this.echo(this.getTitle()); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/5_login_success.png"); this.echo("登录成功"); }); }); //登录成功后,准备进入任务的历史列表页面 casper.then(function () { //this.clickLable("dev_cpm_disabled", "a"); this.click("a[href='job/"+jobName+"/']"); this.echo("准备进入"+jobName+", 等待....."); this.wait(3000, function () { this.echo(this.getTitle()); this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/6_gogo_job_history.png"); this.echo("进入 "+jobName+" 成功"); }); }); //循环删除离历史 for(var i=0; i<max_record; i++){ var d=new Date(); //1.点击第一个历史,并进入细节页面 casper.then(function () { this.echo("---------------------------------------------------------------------------------------------"); //注意,这里选择器匹配多个的时候,只会默认点击第一个被匹配的元素 this.click("table[id='buildHistory'] a[class='tip']") this.echo("点击任务历史链接, 等待进入detai页面....."); this.wait(3000, function () { this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/"+ d.getTime()+"A.png"); this.echo("进入 "+jobName+" detail页面成功"); }); }); //2.点击右上角的删除按钮 casper.then(function () { this.click("input[id='deleteBuild']") this.echo("点击删除按钮, 等待弹出确认对话框....."); this.wait(2000, function () { this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/"+ d.getTime()+"B.png"); this.echo("删除 "+jobName+" 任务历史的确认对话框成功,等待确认..."); }); }); //3.确认删除,并自动跳转到历史列表页面 casper.then(function () { //注意,这里选择器匹配多个的时候,只会默认点击第一个被匹配的元素 this.click("div.ui-dialog-buttonset button"); this.echo("点击确认删除历史对话框, 等待跳转到历史里表....."); this.wait(3000, function () { this.capture("/mnt/D/work_documents/workspace_ide/phantomjs_casperjs/images/"+ d.getTime()+"C.png"); this.echo("删除成功,并成功跳转到历史列表"); }); }); //等待几秒钟后,继续循环 casper.then(function(){ this.echo("等待2秒钟,准备循环......"); this.wait(2000,function(){ d=new Date(); }); }) } casper.run(function () { this.echo("程序执行完毕..."); this.exit(); })
评论
2 楼
pyzheng
2013-12-08
恩 我没碰到乱码 我这些是在Linux下测试的 应该是使用utf-8编码 至于window 可能情况不一样哦。 是否是js文件的编码有问题?
1 楼
a952213390
2013-12-08
向博主请教下casperjs 中文乱码是如何解决的?3q
发表评论
-
FFmpeg常用基本命令
2016-07-15 11:52 0http://www.cnblogs.com/dwdxdy/p ... -
iF.SVNAdmin安装
2016-06-27 17:13 1417http://blog.linhere.com/archive ... -
apache调优
2016-05-21 10:10 1140http://my.oschina.net/renqingsh ... -
自动 CSS 回归测试工具 BackstopJS
2016-05-03 09:48 1219http://www.oschina.net/p/backst ... -
tomcat命令
2016-04-28 09:56 944./startup.sh : 启动tomcat ./shutd ... -
Shiro 基于注解和标签实现的授权认证过程
2016-04-25 13:24 5949将 Shiro 作为应用的权限 ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1769Byteman 3.0.5 发布,Java 字 ... -
安装Hadoop, Hbase, Phoenix
2016-04-22 09:22 1484http://my.oschina.net/jrrx/blog ... -
jenkins+ant+jmeter搭建持续集成的接口测试平台实例
2016-04-15 13:29 1550http://my.oschina.net/u/1425843 ... -
Dubbo 介绍
2016-04-14 10:26 1053官方 http://dubbo.io/ DUBBO是一个分布式 ... -
Hadoop 2.6.4分布式集群环境搭建
2016-04-13 11:45 752http://my.oschina.net/jackieyea ... -
nagios报警信息,发送到微信端
2016-03-23 22:59 1129http://www.oschina.net/code/sni ... -
Keepalived配置与使用
2016-03-23 22:53 1021原文: http://weizhifeng.net/using ... -
会话状态保持,JSESSIONID,COOKIE,URL重写
2016-03-17 20:26 1762http://my.oschina.net/sniperLi/ ... -
Intellij IDEA 根据数据库自动生成pojo和hbm
2016-03-13 17:03 2377http://my.oschina.net/jimyao/bl ... -
比较简洁的Hadoop介绍
2016-03-10 22:49 945http://www.cnblogs.com/sunddenl ... -
Intellij 配置Tomact 热部署
2016-01-28 11:19 919http://my.oschina.net/heweipo/b ... -
Java 应用发布后,需要关注的7个性能指标
2015-12-16 23:39 1128http://my.oschina.net/oneapmoff ... -
dom4j解析xml-取消doctype中DTD验证设置
2015-11-27 11:30 2233http://pengfeng.iteye.com/blog/ ... -
Linux下的压缩和解压
2015-11-10 16:13 1097Linux下的压缩(zip)解压(unzip)缩命令 http ...
相关推荐
这个“casperjs网页截屏例子”可能是为了展示如何使用CaspeJS库来捕获网页的快照。下面,我们将深入探讨CaspeJS的基本概念、用途以及如何实现网页截屏功能。 CasperJS是开源的,它提供了丰富的API,使得开发者可以...
CasperJS是一个基于PhantomJS和SlimerJS的高级脚本接口,用于浏览器自动化和功能测试。这个"casperjs1.1.0-beta3.jar"文件是CasperJS的一个特定版本,即1.1.0-beta3,适用于Windows操作系统。在Java平台上,JAR...
CasperJS是一个基于PhantomJS和SlimerJS的高级脚本接口,专为网页抓取和自动化测试设计。它提供了一种简洁的方式来导航、交互和测试网页,特别适合处理那些依赖JavaScript来呈现内容的网站。在本文中,我们将深入...
安装CasperJS通常有几种方式,比如使用Homebrew在OS X上安装,通过npm(Node.js包管理器)安装,或者从Git仓库克隆源码。文档还提供了从归档文件安装以及在Windows系统上的安装指南。安装后,文档还列举了一些已知的...
CasperJS是一个基于PhantomJS和SlimerJS的高级脚本接口,用于浏览器自动化和功能测试。这个"casperjs-1.1.4-1.zip"文件包含了CasperJS的1.1.4-1版本,这是一款非常有用的工具,尤其对于前端开发者和自动化测试工程师...
casperjs抓取淘宝手机信息实例
CasperJs 是一个基于 PhantomJs 的工具,其比起 PhantomJs 可以更加方便的进行 navigation。 推荐使用PhantomJs1.9版本的 phantomjs和casperjs下载地址,casperjs下载地址,phantomjs下载地址
针对这种情况,`casperjs`应运而生,它是一个基于`PhantomJS`的高级脚本接口,专门用于模拟浏览器行为,抓取JavaScript渲染后的页面内容。本文将深入探讨`casperjs`在Linux环境中的应用,以及如何结合Java实现爬虫...
标题中的“PyPI 官网下载 | webtest-casperjs-0.1.tar.gz”表明这是一个从Python Package Index(PyPI)官方下载的软件包,名为`webtest-casperjs`,版本为0.1,格式为tar.gz压缩文件。PyPI是Python开发者发布和分享...
CasperJS是一个开源的,用JavaScript编写的,基于PhantomJS的导航脚本和测试工具 ,它简化了定义一个完成的导航操作所需的步骤,还提供了很有用的函数封装,方法,和语法糖,它可以完成下面这些常见任务: 定义 & 排序...
php-casperjs, CasperJS的简单PHP包装 php PHP是一个简单的PHP包装器,用于设计用于对网页进行用户测试的精细库 CasperJS 。它很容易集成到PHPUnit测试用例中。使webcrawler从未如此容易 !安装在使用php之前,你...
利用casperjs +phantomjs实现登录抓取网页 并且截图;下载后解压后,在环境变量path中配置解压后bin目录的地址,如:E:\Program Files\casperjs\bin;E:\Program Files\phantomjs\bin
PhantomJS和CasperJS是两个非常重要的工具,它们在Web自动化测试和无头浏览器场景中扮演着关键角色。这两个工具都是基于WebKit浏览器引擎,但各自有着不同的功能和用途。 PhantomJS是一款开源的无头浏览器,它允许...
1. **Java** - 虽然CasperJS本身与JavaScript相关,但这里提到Java可能是因为这个实例中用Java来调用CasperJS脚本或者构建一个Java项目来封装CasperJS的功能。 2. **casperjs** - 作为主要的工具,CasperJS用于实现...
CasperJS + PhantomJS的无头抓取 入门 您必须已全局安装npm , casperjs , phantomjs apt-get install npm npm install -g phantomjs npm install -g casperjs cd到项目根目录然后运行 npm install grunt ...
docker run -v `pwd`/casperjs-files:/home/casperjs-files fprieur/docker-casperjs casperjs /home/casperjs-files/sample.js 截屏 docker run -v `pwd`/casperjs-files:/home/casperjs-files fprieur/docker-...
卡斯帕杰斯(CasperJS)是一个用于编写功能和验收测试的框架,它构建于 PhantomJS 之上,利用 JavaScript 语言,提供了丰富的 API 来方便地进行网页自动化操作和测试。 **一、安装 Node.js** Node.js 是一个开放源...
CasperJS是一个基于PhantomJS和SlimerJS的高级脚本接口,用于浏览器自动化和页面测试。它提供了强大的工具来导航、操作和检查网页内容,主要用于进行功能测试和UI验收测试。CasperJS 2.0是其最新的版本,带来了许多...
CasperJS是一个强大的工具,专为网页导航脚本和自动化测试设计,它是基于另一个开源项目PhantomJS构建的。PhantomJS是一个无头浏览器,意味着它可以在后台运行,没有图形用户界面,这对于自动化任务和服务器端渲染...
casperjs-test-example CasperJS使用示例进行一些测试 请参阅以下文章: : 运行测试 casperjs test yourtestfile.js # OR to execute all casperjs test * .js 测试用例 测试索引要有一些要素 文件名:index.js ...