casperjs-options

来源:https://www.cnblogs.com/luyuqiang/archive/2019/09/12/casperjs-options.html
-Advertisement-
Play Games

The Casper class The easiest way to get a casper instance is to use the module’s create() method: 最簡單獲取casper實例的方法是casper模塊的create()方法: But you can al ...


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類函數


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 遇到這個報錯,就使用asmm一般先裝庫,再opatch到最新補丁,最後dbca建庫,物理記憶體大於4G不能用AMM只能用ASMM記憶體越大,全自動管理就越費勁,出錯概率就越高,記憶體抖動oracle的記憶體管理:9i PGA自動管理SGA手動管理,10g PGA自動管理 SGA自動管理(ASMM 自動共用內... ...
  • 1.背景 Apache Flink 和 Apache Storm 是當前業界廣泛使用的兩個分散式實時計算框架。其中 Apache Storm(以下簡稱“Storm”)在美團點評實時計算業務中已有較為成熟的運用(可參考 Storm 的 可靠性保證測試),有管理平臺、常用 API 和相應的文檔,大量實時 ...
  • 1. 甲骨文--oracle 和mysql( 免費,開源) 2. sqlserver 3. IBM--DB2 關係型資料庫database 資料庫 , 數據表table , 數據: 記錄-- 增刪改查結構化查詢語言 非關係型資料庫: redis, mongodb 資料庫優化: 數據類型: 創建表的語 ...
  • 本文主要介紹PhpMyAdmin 配置文件現在需要一個短語密碼的解決方法,比較實用,希望能給大家做一個參考。 新版本的PhpMyAdmin 增強了安全性,需要在配置文件設置一個短語密碼。否則進入之後會有“配置文件現在需要一個短語密碼。”的紅色警嘆提示。 解決方法: 1、將 phpMyAdmin/li ...
  • 一、在需要發佈的模塊chrisbaselibrary下的build.gradle中添加以下部分 直接添加到最後即可。 使用gradle的插件uploadArchives實現部署。 部署成功後,我們可以修改app模塊的依賴方式。不過建議另外建一個項目進行依賴測試,畢竟這個項目中的app模塊是用來做實時 ...
  • 同事碰到介面返回為數值的鍵值,想處理成自己想要的鍵值的對象,於是寫了個方法來處理類似的數據 '{"1":"憑訂單詳情頁的入園憑證(入園輔助碼或二維碼)入園","2":"憑下單時預留的身份證入園","3":""}' 處理成自己想要的鍵值的對象 const content = '{"1":"憑訂單詳情頁 ...
  • redux和react redux的關係: redux是react的狀態管理工具,卻不僅僅只是為了react而生的,所以在使用中會存在痛點。而react redux是專門為了react定製,目的是為瞭解決redux的痛點,起到了補充的作用。 redux和flux思想: 從代碼層面而言,flux無非就 ...
  • Casper prototyp back() 具體樣式: back() Moves back a step in browser’s history: 在瀏覽器歷史中回退一步: 同樣看一眼 "forward()" 方法 base64encode() 具體樣式: base64encode(String ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...