展开

关键词

CasperJS构建你的网络爬虫

CasperJS允许我们用JavaScript编写我们的脚本。你可以测试它是否已正确安装,并且通过在终端键入casperjs测试它是否在你的安装路径(PATH)上。 你需要做的第一件事是在你的代码中创建一个casper实例,但需要模块并传入一些基本 var casper = require(casper).create({waitTimeout: 10000,stepTimeout 注意:有时你可能无法使用CasperJS查找元素。要获取CasperJS可以看到的图片(字面意义上的!) CasperJS附带一个评估(evaluate)函,它允许你从页面内运行JavaScript,并且可以让该函返回一个变量以供进一步处理。 如何编写这个JavaScript并没有什么特别之处。 在本系列的下一篇文章中,我将研究如何从网页下载图像,并且还将讨论如何使用CasperJS中内置的文件系统函,这些函比你将习惯使用来自Node.js的函更加受限.

36630

浏览器自动化测试初探 - 使用phantomjs与casperjs

通过自动回归我们的页面功能,可以在功能出错的时候提供报警,为我们手动排除问题提供考。 开胃菜说到浏览器自动化测试,不得不介绍大名鼎鼎的phantomjs及casperjs。 这里演示下使用casperjs截取百度首页 关于这两个东西的安装,有兴趣体验的建议去看官方文档,其实很简单,这里不一一赘述。 cookie既然是浏览器测试,不能没有cookie的与,casperjs没有对cookie的操作作封装,可以使用phantomjs直接“种”cookie:phantom.addCookie({ name 单元测试通过前面的介绍,使用phantomjs(casperjs)已经能实现很多自动化的功能,在此基础上,实现单元测试就很简单了。 说到底,phantomjs(casperjs)提供的还是一个无界面的webkit内核浏览器,所以无法覆盖IE浏览器。

61750
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浏览器自动化测试初探:使用 phantomjs 与 casperjs

    通过自动回归我们的页面功能,可以在功能出错的时候提供报警,为我们手动排除问题提供考。开胃菜说到浏览器自动化测试,不得不介绍大名鼎鼎的phantomjs及casperjs。 这里演示下使用casperjs截取百度首页关于这两个东西的安装,有兴趣体验的建议去看官方文档,其实很简单,这里不一一赘述。 cookie既然是浏览器测试,不能没有cookie的与,casperjs没有对cookie的操作作封装,可以使用phantomjs直接“种”cookie:phantom.addCookie({ name 单元测试通过前面的介绍,使用phantomjs(casperjs)已经能实现很多自动化的功能,在此基础上,实现单元测试就很简单了。 说到底,phantomjs(casperjs)提供的还是一个无界面的webkit内核浏览器,所以无法覆盖IE浏览器。

    1.4K00

    浏览器自动化测试初探 - 使用phantomjs与casperjs

    通过自动回归我们的页面功能,可以在功能出错的时候提供报警,为我们手动排除问题提供考。 开胃菜说到浏览器自动化测试,不得不介绍大名鼎鼎的phantomjs及casperjs。 这里演示下使用casperjs截取百度首页 关于这两个东西的安装,有兴趣体验的建议去看官方文档,其实很简单,这里不一一赘述。 cookie既然是浏览器测试,不能没有cookie的与,casperjs没有对cookie的操作作封装,可以使用phantomjs直接“种”cookie:phantom.addCookie({ name 单元测试通过前面的介绍,使用phantomjs(casperjs)已经能实现很多自动化的功能,在此基础上,实现单元测试就很简单了。 说到底,phantomjs(casperjs)提供的还是一个无界面的webkit内核浏览器,所以无法覆盖IE浏览器。

    38030

    python 爬取股市据存入mysql

    1.利用casperjs 爬取新浪股市排行据,生成据文件获取新浪股票排行var casper = require(casper).create({    waitTimeout: 10000,     verbose:true,    logLevel: debug,    clientScripts: , #Casperjs的运行需要jquery    pageSettings: {         dataallday5_sina.txt;    var fs = require(fs);    fs.write(filename,rank);});  casper.run();2.使用 python入库读取Casperjs 生成的据文件,写入mysql#! ,据回滚)     cursor.close()     db.close()

    34630

    对 Phantomjs CasperJS 进行远程调试

    CasperJS运行在PhantomJS之上,其实也是启用PhantomJS的远程调试功能PhantomJS 是一个无图形界面的浏览器,它支持各种Web标准:DOM处理,CSS选择器,JSON,Canvas 下载地址:phantomjs: http:phantomjs.orgdownload.html casperjs : http:casperjs.org 简记:出于某些原因,需要折腾下phantomjscasperjs ,但是好烦写完代码不知道怎么调试,很容易被错误困住了,简直尴尬,特地看了一下api 有个远程调试工具 使用下看看-----jstarsven 简单记录下操作步骤(casperjs 类似)1.phantomjs

    29620

    Headless Testing入坑指南

    ●抓取据更加方便如果没有无头测试工具的话,在抓取页面据时,你需要打开一个浏览器,输入页面地址,找到指定的页面据。而有了无头测试工具之后,这一切操作都可以自动化完成。 CasperJS专为PhantomJS而生,它提供了一个基本的测试套件,它允许你运行完整的功能测试,也允许你从Web页面中获取据。安装phantomjs方法(Linux)?安装casperjs方法? 下面是一个使用PhantomJS+CasperJS来进行无头测试的例子。首先你需要创建一个caspergoogle.js文件,它的代码如下:?? 上面的例子里,我们用CasperJS抓取了http:Google.com的据,然后我们利用CasperJS向搜索框中模拟输入了一段字符串,然后把运行结果输出到了终端。 考文章:Introduction to Headless Browser Testing https:blog.logrocket.comintroduction-to-headless-browser-testing

    42550

    前端自动化测试解决方案探析

    测试集,以函describe(string, function)封装;测试用例,以it(string, function)函封装,它包含2个;断言,以assert语句表示,返回true或false 测试集以函describe(string, function)封装;测试用例,以it(string, function)函封装,它也包含2个;断言,以expect语句表示,返回true或false 它通过QUnit.test定义一个测试集,一个测试集中通过回调函里面多个断言判断来实现多个测试用例,使用起来非常简单。 例如CasperJS、Nighmare、Nightwatch、Dalekjs,我们来逐个看下。casperJS考资料:http:joshldavis.com20130527difference-between-tdd-and-bddhttps:pythonhosted.orgbehavephilosophy.htmlhttp

    49170

    前端自动化测试解决方案探析

    测试集,以函describe(string, function)封装;测试用例,以it(string, function)函封装,它包含2个;断言,以assert语句表示,返回true或false 测试集以函describe(string, function)封装;测试用例,以it(string, function)函封装,它也包含2个;断言,以expect语句表示,返回true或false 它通过QUnit.test定义一个测试集,一个测试集中通过回调函里面多个断言判断来实现多个测试用例,使用起来非常简单。 例如CasperJS、Nighmare、Nightwatch、Dalekjs,我们来逐个看下。casperJS。   考资料:http:joshldavis.com20130527difference-between-tdd-and-bddhttps:pythonhosted.orgbehavephilosophy.htmlhttp

    17321

    前端自动化测试探索

    自动化测试的收益可以简单总结为:自动化的收益 = 迭代次 * 全手动执行成本 - 首次自动化成本 - 维护次 * 维护成本对于自动化测试来说,相对于发现未知的问题,更倾向于避免可能的问题。 如果还是想使用可以修改源码中获取图片文件的方式,改为通过ajax获取同域名下文件的方式,具体可以考ResembleJs官网示例。 如果网站偏向静态或者能保证沙盒地址据一致性,那么用这个测试工具能有效提高实施自动化测试的效率。性能测试网站展现性能也越来越成为人们关注的点,尤其是移动端性能始终是一个影响体验的重要因素。 性能监控可以考我的另一篇文章七天打造前端性能监控系统。需要注意的是性能并不是一个目标,而是开发、测试过程中需要持续关注的问题。 有些需要注意的点可以作为经验考。

    674100

    可视化前端测试

    功能测试 服务器据预期测试:主要针对用户在前端界面进行某种操作后,提交据给后台后,测试后台能否返回预期的据 界面功能测试:主要针对用户在前端界面进行某种交互性操作后,测试能否获取预期的功能、界面交互多浏览器测试 casperjs 工具地址:http:casperjs.org 工具介绍:CasperJS 是基于PhantomJS作为内核的测试工具,为界面测试、功能测试提供了更加易用的API, 增强了测试的便利性 工具可测试类型:性能测试、功能测试、界面测试 工具点评:CasperJS极大的简化了PhantomJS的接口,特别在前端测试方面,封装了大量相关的函,而且支持定制化的单元测试结果PhantomCSS 工具点评:PhantomCSS加强了CasperJS在界面测试中图像比较的不足,在Resemble.js的基础上提供更加易用的图像比较接口。 工具点评:Phantomas作为自动化性能据收集工具,解决了日常性能据收集的问题的,但是性能优化的指标据需要的是大样本、更加贴近用户据的平均值,而不是使用假设在条件良好的环境下获取的性能据,因此更推荐使用

    506100

    概览:可视化前端测试

    功能测试服务器据预期测试:主要针对用户在前端界面进行某种操作后,提交据给后台后,测试后台能否返回预期的据界面功能测试:主要针对用户在前端界面进行某种交互性操作后,测试能否获取预期的功能、界面交互多浏览器测试多浏览器测试 casperjs工具地址:http:casperjs.org工具介绍:CasperJS 是基于PhantomJS作为内核的测试工具,为界面测试、功能测试提供了更加易用的API, 增强了测试的便利性。 工具点评:CasperJS极大的简化了PhantomJS的接口,特别在前端测试方面,封装了大量相关的函,而且支持定制化的单元测试结果。 工具点评:PhantomCSS加强了CasperJS在界面测试中图像比较的不足,在Resemble.js的基础上提供更加易用的图像比较接口。 工具点评:Phantomas作为自动化性能据收集工具,解决了日常性能据收集的问题的,但是性能优化的指标据需要的是大样本、更加贴近用户据的平均值,而不是使用假设在条件良好的环境下获取的性能据,因此更推荐使用

    79300

    可视化前端测试

    功能测试 服务器据预期测试:主要针对用户在前端界面进行某种操作后,提交据给后台后,测试后台能否返回预期的据 界面功能测试:主要针对用户在前端界面进行某种交互性操作后,测试能否获取预期的功能、界面交互多浏览器测试 casperjs 工具地址:http:casperjs.org 工具介绍:CasperJS 是基于PhantomJS作为内核的测试工具,为界面测试、功能测试提供了更加易用的API, 增强了测试的便利性 工具可测试类型:性能测试、功能测试、界面测试 工具点评:CasperJS极大的简化了PhantomJS的接口,特别在前端测试方面,封装了大量相关的函,而且支持定制化的单元测试结果PhantomCSS 工具点评:PhantomCSS加强了CasperJS在界面测试中图像比较的不足,在Resemble.js的基础上提供更加易用的图像比较接口。 工具点评:Phantomas作为自动化性能据收集工具,解决了日常性能据收集的问题的,但是性能优化的指标据需要的是大样本、更加贴近用户据的平均值,而不是使用假设在条件良好的环境下获取的性能据,因此更推荐使用

    28130

    12 款 JavaScript 代码测试必备工具

    PhantomCSS PhantomCSS 获得 CasperJS 捕获的屏幕截图,并使用 Resemble.js 将其与基准图进行对比,以测试 RGB 像素差异。 针对 PhantomJS, CasperJS 和 PhantomCSS 的 NodeJS 包装器—— PhantomFlow 能够流畅地在代码中描述用户流程,同时生成用于可视化的结构化树据。12.

    605100

    02技能之谷歌Chrome爬虫 |据爬取及可视化系列

    今天更新一篇《据爬取及可视化系列》的技能相关的文章:爬虫技能。前阵子研究了nodejs爬虫相关的内容,发现最好用的还是casperjs,一个基于Phantom JS的库。? 用casperjs做爬虫要编程呢。有点麻烦。有没有更简单的方式呢???其实有的。对于单页面的据抓取,我建议直接采用谷歌浏览器的控制台来获取据就行啦~简单又好用,今天分享下这一技巧。 如果,想获取其他信息,可以通过修改类名t和innerText为其他的命令,获取诸如评价量、链接地址等。 实例2目标:获取搜狗搜索出来的微信公众号id----比如我搜索了一下大据? 拷贝出来,存到文本里就行啦~关于,谷歌浏览器爬取据的其他应用方式,大家可以发挥脑洞~有问题可以留言哈

    99190

    01基于位置的用户画像初探|据爬取及可视化系列

    研究了1个月的nodejs爬虫,据提取,mongodb据库,据可视化等等内容,我终于写了第一篇关于据的文章,哈~这个系列的文章会从:技能据来源据可视化的套路交互设计等方面进行更新今天首发的是系列文章 :关于据爬取及可视化的第一篇|基于位置的用户画像初探第一篇先谈谈总的思路,及尝试一些据研究的方法。 据来源:----前几天发现百度指蛮好用的,直接输入关键字就可以得到相关的据,都是基于网民的搜索行为的。百度指http:index.baidu.com? 用casperjs爬取商户的所有评论页面↓通过nodejs中的cheerio解析网页,提取用户id↓根据用户id爬取用户的所有点评地点的经纬度信息,及日期↓通过百度地图,显示用户去过的地点,并用echart 关于casperjs、nodejs、echart相关的技术使用心得,将在另一篇文章中总结。下图是商户的评论页,有10669条评论,手动去收集肯定是不现实的啊,本次采用了casperjs来抓取~?

    946120

    如何技术地识别双十一的“骗”局

    爬虫爬取的据存放在哪里呢?作为制作爬虫,收集商品据的收集方,会不会狼狈为奸,自己也去偷偷改动据呢? 据添加至区块链将会被永久储存,单个节点将无法实现对据的修改,所以区块链的据稳定性高,同时具有不可篡改性。 技术选型:区块链:Ethereum+Truffle桌面APP:Electron+Metamask爬虫工具:PhantomJS+Casperjs一、区块链开发我们主要使用Truffle来进行区块链的开发, 个人简单使用可以采用以下方案:CasperJS一个开源的导航脚本处理和测试工具,基于PhantomJS(前端自动化测试工具)编写,在这里作为爬虫工具使用,用来监测商品。 http:casperjs.org关于据爬取部分可以查看相关文章:技能之谷歌Chrome爬虫爬虫之据获取的3种方法关于知乎Live的一些据 附上商品监测的范围考,各位可以自行选择适合的:监测范围

    35540

    Web 自动化测试与智能爬虫利器:PhantomJS 简介与实战

    PhantomJS 已形成了一个功能非常强大的生态圈内容,相关项目如下:CasperJS:一个开源的导航脚本处理和高级测试工具Poltergeist :测试工具Capybara的测试驱动Guard::Jasmine JavaScript、CoffeeScript 和 Python 支持,也是 Webkit 内核SlimerJS,已知有 JavaScript 支持,Gecko 内核,和火狐是一样的,也可以运行于火狐之上CasperJS 上边两个的进一步封装这个重要的特性使得他们和一些爬虫框架组合起来使用之后,目测一大波智能爬虫正向我们走来~    -_-|||3、实战:抓取某个页面所有的子请求简单的入门教程这里就不说了,可以考官方文档或者文末链接 p=2001&c=14&o=1&st=ajk  ......另一个例子 netsniff.js 实现了将抓捕到的 网络请求导出成 HAR 格式然后可视化分析,有兴趣的同学可以考这个官方的例子。? (2)对于 js 的异步代码和函封装的执行,兼容性不够,无法捕获请求或执行,如下两种写法在 ghost 下都有问题: readyToDo($,function(){  $.getScript(http

    1.4K90

    phantomjs小试

    延伸阅读CasperJS:一个开源的导航脚本处理和高级测试工具

    36050

    phantomjs小试

    延伸阅读CasperJS:一个开源的导航脚本处理和高级测试工具

    28420

    扫码关注云+社区

    领取腾讯云代金券