The Casper class


The easiest way to get a casper instance is to use the module’s create() method:

最简单获取casper实例的方法是casper模块的create()方法:

var casper = require('casper').create();

But you can also retrieve the main Function and instantiate it by yourself:

你也能够从主函数中获取实例,实例化

var casper = new require('casper').Casper();

Both the Casper constructor and the create() function accept a single options argument which is a standard javascript object:

casper构造函数和create函数都可以传入一个基础的JavaScript对象类型的设置:

var casper = require('casper').create({
verbose: true,
logLevel: "debug"
});

Casper.options

An options object can be passed to the Casper constructor, eg.:

一组设置对象能被传入到casper构造函数中,例如:

var casper = require('casper').create({
clientScripts: [
'includes/jquery.js', // These two scripts will be injected in remote DOM on every request
'includes/underscore.js' // 这两个脚本将被将在每一次请求时,注入到远程DOM
],
pageSettings: { // The WebPage instance used by Casper will use these settings
loadImages: false, // 使用casper创建的网页原型将会使用这些设置
},
logLevel: "info", // Only "info" level messages will be logged 只有"info"等级时的信息才会被记录
verbose: true // log messages will be printed out to the console 日志消息将会被输出到控制台
});

You can also alter options at runtime:

你也可以在运行时改变设置:

var casper = require('casper').create();
casper.options.waitTimeout = 1000;

The whole list of available options is detailed below.

全部可选参数如下详述:

clientScripts

类型:Array

默认:[]

A collection of script filepaths to include in every page loaded.

在每一个页面载入时引入的脚本路径的集合

exitOnError

类型: Boolean

默认: true

Sets if CasperJS must exit when an uncaught error has been thrown by the script.

设置是否casperjs当遇到已经被抛出的未捕捉的错误时必须退出

httpStatusHandlers

类型: Object

默认: {}

A javascript Object containing functions to call when a requested resource has a given HTTP status code. A dedicated sample is provided as an example.

当被请求资源时返回一个http状态码时,一个JavaScript对象包含回调函数.一个专门的事例给出作为一个例子.

logLevel

类型: String

默认:error

Logging level (see the logging section for more information)

日志等级(看日志章节获取更多信息)

onAlert

类型: Function

默认: null

具体样式: onAlert(Object Casper, String message)

A function to be called when a javascript alert() is triggered

当javascript的alert函数被触发时调用

onDie

类型: Function

默认: null

具体样式: onDie(Object Casper, String message, String status)

A function to be called when Casper#die() is called

当调用casper中的die时触发回调

onError

类型: Function

默认: null

具体样式: onError(Object Casper, String msg, Array backtrace)

A function to be called when an “error” level event occurs

当“error”等级的事件发生时触发回调函数

onLoadError

类型: Function

默认: null

具体样式: onLoadError(Object Casper, String casper.requestUrl, String status)

A function to be called when a requested resource cannot be loaded

当请求的资源不能被载入时触发

onPageInitialized

类型: Function

默认: null

具体样式: onPageInitialized(Object page)

A function to be called after WebPage instance has been initialized

页面初始化时触发

onResourceReceived

类型: Function

默认: null

具体样式: onResourceReceived(Object Casper, Object resource)

Proxy method for PhantomJS’ WebPage#onResourceReceived() callback, but the current Casper instance is passed as first argument.

PhantomJs的webpage的onResourceReceived方法的回调的替代方法,但是当前casper实例被当做第一个参数传入

onResourceRequested

类型: Function

默认: null

具体样式: onResourceRequested(Object Casper, Object resource)

Proxy method for PhantomJS’ WebPage#onResourceRequested() callback, but the current Casper instance is passed as first argument.

PhantomJs的webpage的onResourceRequested方法的回调的替代方法,但是当前casper实例被当做第一个参数传入

onStepComplete

类型: Function

默认: null

具体样式: onStepComplete(Object Casper, stepResult)

A function to be executed when a step function execution is finished.

当一个步骤函数执行完成触发

onStepTimeout

类型: Function

默认: Function

具体样式: onStepTimeout(Integer timeout, Integer stepNum)

A function to be executed when a step function execution time exceeds the value of the stepTimeout option, if any has been set.

By default, on timeout the script will exit displaying an error, except in test environment where it will just add a failure to the suite results.

当一个步骤函数时间超过stepTimeout选项的值时触发,如果被设置了 .默认情况下,当超时时脚本将会退出展示错误,除了在测试环境下,将会添加一个失败的结果

onTimeout

类型: Function

默认: Function

具体样式: onTimeout(Integer timeout)

A function to be executed when script execution time exceeds the value of the timeout option, if any has been set.

By default, on timeout the script will exit displaying an error, except in test environment where it will just add a failure to the suite results.

当脚本执行时间超过设置的超时timeout时触发,如果被设置了.默认情况下,当超市脚本将会退出展示一个错误,除了测试环境下,将会添加一个失败的结果

onWaitTimeout

类型: Function

默认: Function

具体样式: onWaitTimeout(Integer timeout)

A function to be executed when a waitFor function execution time exceeds the value of the waitTimeout option, if any has been set.

By default, on timeout the script will exit displaying an error, except in test environment where it will just add a failure to the suite results.

当以waitFor开头的等待的函数的执行时间超过了设定的waitTimeout时触发,如果被设置了.默认情况下,当超时脚本将会退出展示一个错误,除了测试环境下,将会添加一个失败的结果

page

类型: WebPage

默认: null

An existing PhantomJS WebPage instance

一个现有的PhantomJS网页实例

Warning

Overriding the page properties can cause some of the casper features may not work. For example, overriding the onUrlChanged property will cause the waitForUrl feature not work.

警告

覆盖page属性将会引起casper特性不工作.比如重写了onUrlChanged属性将会导致waitForUrl特性不工作

pageSettings

类型: Object

默认: {}

PhantomJS’s WebPage settings object. Available settings are:

PhantomJS的网页设置对象,可用的设置如下:

  • javascriptEnabled defines whether to execute the script in the page or not (default to true)

    定义javascript脚本是否可以执行,默认true
  • loadImages defines whether to load the inlined images or not

    定义是否载入内联图片
  • loadPlugins defines whether to load NPAPI plugins (Flash, Silverlight, …) or not

    定义是否载入NPAPI插件
  • localToRemoteUrlAccessEnabled defines whether local resource (e.g. from file) can access remote URLs or not (default to false)

    定义本地资源是否有权限访问远程url,默认false
  • userAgent defines the user agent sent to server when the web page requests resources

    定义UA
  • userName sets the user name used for HTTP authentication

    设置用户名
  • password sets the password used for HTTP authentication

    设置密码
  • XSSAuditingEnabled defines whether load requests should be monitored for cross-site scripting attempts (default to false)

    定义是否允许跨域请求,默认false

remoteScripts

New in version 1.0.

类型: Array

默认: []

A collection of remote script urls to include in every page loaded

远程脚本url的集合,在每一次页面载入时引入

safeLogs

New in version 1.0.

类型: Boolean

默认: true

When this option is set to true — which is the default, any password information entered in will be obfuscated in log messages. Set safeLogs to false to disclose passwords in plain text (not recommended).

当这个选项被设置成true-也是默认值,被填入任何密码信息,将会在日志信息中混淆.设置safeLogs为false,将会在文本中透露密码(不推荐)

silentErrors

类型: Boolean

默认: false

When this option is enabled, caught step errors are not thrown (though related events are still emitted). Mostly used internally in a testing context.

当这个选项可用时,捕捉的每一个步骤错误将不抛出(尽管相关事件仍被执行).大部分用于内部测试.

stepTimeout

类型: Number

Default: null

Max step timeout in milliseconds; when set, every defined step function will have to execute before this timeout value has been reached. You can define the onStepTimeout() callback to catch such a case. By default, the script will die() with an error message.

最大步骤函数超时毫秒数.当设置了,任何一次定义的步骤函数将不得不在超时前到达时执行.你可以定义onStepTimeout回调函数去捕捉每一种情况.脚本将伴随着错误信息停止掉.

timeout

类型: Number

默认: null

Max timeout in milliseconds

最大超时毫秒数

verbose

类型: Boolean

默认: false

Realtime output of log messages

实时输出日志文件

viewportSize

类型: Object

默认: null

Viewport size, eg. {width: 800, height: 600}

视窗大小,比如. {width: 800, height: 600}

Note:PhantomJS ships with a default viewport of 400x300, and CasperJS won’t override it by default.

笔记:PhantomJS默认采用400x300的视窗,CasperJS不会默认重写

retryTimeout

类型: Number

默认: 100

Default delay between attempts, for wait family functions.

默认尝试等待时间,为wait类函数

waitTimeout

类型: Number

默认: 5000

Default wait timeout, for wait* family functions.

默认等待时间,为wait类函数

casperjs-options的更多相关文章

  1. jquery photoClip支持手机端,PC端 本地裁剪图片后上传插件

    支持手机,PC最好的是jquery photoClip插件,下载地址&示例:https://github.com/topoadmin/photoClip demo.html 代码: <! ...

  2. CasperJS基于PhantomJS抓取页面

    CasperJS基于PhantomJS抓取页面 Casperjs是基于Phantomjs的,而Phantom JS是一个服务器端的 JavaScript API 的 WebKit. CasperJS是 ...

  3. CasperJS API介绍

    一.使用标准JavaScript对象作为可选参数构造CasperJS实例 1 直接在create()函数里面使用 var casper = require('casper').create({ cli ...

  4. 前端端对端测试:基于PhantomJS的CasperJS

    简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester ...

  5. [译文]casperjs的API-clientutils模块

    casper提供了少量的客户端接口用来进行远程DOM环境注入,通过clientutils模块的ClientUtils类实例中的__utils__对象来执行: casper.evaluate(funct ...

  6. [译文]casperjs 的API-casper模块

    Casper class: 可以通过这个模块的create()方法来获取这个模块的一个实例,这是最容易的: var casper = require('casper').create(); 我们也可以 ...

  7. [译文]casperjs使用说明-测试

    capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如 ...

  8. [译文]casperjs使用说明-使用命令行

    使用命令行 Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允 ...

  9. casperjs进行web功能自动化测试demo

    通过一周多的学习和总结,终于掌握了casperjs用于自动化的方法,填平了大大小小的各种坑. casperjs是一个新兴的测试框架,网上资料很少,基本上靠翻译英文资料. 贡献出来,供大家参考:   / ...

  10. Phantomjs和Casperjs,后台网页抓取和交互

    var casper = require('casper').create({ verbose: true, logLevel: 'debug', pageSettings: { loadImages ...

随机推荐

  1. django框架常用的数据库迁移命令

    python manage.py makemigrations 默认所有修改过的model层转为迁移文件 python manage.py migrate   默认将所有的迁移文件都执行,更新数据库 ...

  2. ubuntu16.04的一系列安装

    1.安装ubuntu https://blog.csdn.net/weixin_40494464/article/details/81010256 2.ubuntu里选择简体中文 https://bl ...

  3. java api 调用es集群(1.7版本)

    public static void main(String[] args) { Settings settings = ImmutableSettings.settingsBuilder() // ...

  4. vscode舒适的字体风格

    首选项-->设置-->输入setting.json-->查找到设置文件 添加如下配置 "editor.tabSize": 2, "files.assoc ...

  5. bzoj4922 [Lydsy1706月赛]Karp-de-Chant Number 贪心+背包

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4922 题解 记录每一个串的没有匹配的右括号 \()\) 的数量为 \(a_i\),为匹配的左括 ...

  6. Es学习第八课, Filter、bool和范围查询

    Filter过滤查询 filter是不计算相关性的,同时可以缓存.因此filter速度快于query. 我们先在kibana上先添加数据来做准备 POST /lib4/items/_bulk { &q ...

  7. 51nod 1122:机器人走方格 V4 (矩阵快速幂)

    题目链接 昨天上随机信号分析讲马氏链的时候突然想到这题的解法,今天写一下 定义矩阵A,Ans=A^n,令A[i][j]表示,经过1次变换后,第i个位置上的机器人位于第j个位置的情况数,则Ans[i][ ...

  8. WORM Worm worm 毛毛虫爬树爬树~

    对于动态规划,我也就不多说了.因为还不会, 每个题都不一样,但大致原则是一样的.抓住题意, 本题:n棵树,毛毛虫在m分钟内从p到t的路线种数,毛毛虫只可以向左右相邻位置走. 中心代码: for(i = ...

  9. CTF | bugku | 秋名山车神

    ''' @Modify Time @Author ------------ ------- 2019/8/31 19:55 laoalo ''' import requests from lxml i ...

  10. vue数据渲染、条件判断及列表循环

    1.数据渲染  {{msg}} <template> <div id="app"> {{msg}} </div> </template&g ...