Casperjs迴圈執行(重複執行不退出)
我們知道,casperjs執行任務的時候最終是要退出的。那麼如何讓它(隔一段時間)重複的執行一個相同的行為呢。如果你按我們平時的js迴圈思維去寫,你肯定會失敗,達不到預期的效果。
參考寫法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
var
casper = require( 'casper' ).create({ pageSettings: { loadImages: false , loadPlugins: false }, logLevel: "info" , verbose: true }); function
repeat() { this .echo( 'do something....' ); }); casper.wait(5000, function (){ this .echo( 'wait time over!' ) }); casper.run(repeat); } casper.start().then( function (){ this .echo( 'Starting...' ); }); casper.run(repeat); |
注意點:
- casperjs是一個鏈式的工作流程,你要像操作瀏覽器一樣操作它去完成你的任務(事實上它就是一個工作在後臺的瀏覽器核心)。比如先啟動(start),然後(then)乾點什麼,然後(then)再幹點什麼(例如wait/waitForxxx)……
- 所以.最好只建立casper一個例項執行,如果你試圖建立多個例項,程式往往會假死,不會(能)退出。
相關文章
- python重複執行10次for迴圈從0到9Python
- Runloop-執行迴圈OOP
- JavaScript for迴圈 執行順序JavaScript
- 使用nohup執行迴圈指令碼插入發現資料重複的問題指令碼
- JavaScript如何中斷迴圈執行?JavaScript
- JavaScript執行機制-node事件迴圈JavaScript事件
- 【轉】Promise迴圈序列執行寫法Promise
- 三個執行緒迴圈列印123-多執行緒執行緒
- 防止指令碼重複執行方法指令碼
- 如何避免任務重複執行
- 時間遞增迴圈執行指令碼指令碼
- (轉)Qt 的執行緒與事件迴圈QT執行緒事件
- 如何防止jQuery物件動畫重複執行jQuery物件動畫
- 多執行緒迴圈控制欄位失效造成死迴圈的坑執行緒
- 多執行緒實現順序迴圈列印執行緒
- JavaScript 執行機制-瀏覽器事件迴圈JavaScript瀏覽器事件
- flutter: 執行緒通訊與訊息迴圈Flutter執行緒
- Java for迴圈中語句執行的順序Java
- 淺談Javascript單執行緒和事件迴圈JavaScript執行緒事件
- 多執行緒 HashMap 死迴圈 問題解析執行緒HashMap
- python中單執行緒重複利用Python執行緒
- 利用nodejs 執行多個js 指令碼,casperjs 同行執行多個任務NodeJS指令碼
- parallel: 一個簡單的並行執行Go迴圈的庫Parallel並行Go
- HashMap多執行緒下發生死迴圈的原因HashMap執行緒
- cmd執行python死迴圈怎麼解決Python
- 執行迴圈和自動釋放池關係
- 多執行緒下HashMap的死迴圈問題執行緒HashMap
- while(liunx,unix)中的迴圈執行某程式用法While
- crontab不執行
- shell:nohup (在系統後臺不掛起地執行命令,退出終端不會影響程式的執行)
- Ubuentu crontab執行scala不執行問題
- 解決hibernate雙向關係造成的一方重複執行SQl,或者死迴圈的問題SQL
- 解Bug之路-中介軟體"SQL重複執行"SQL
- 停止 FutrueBuilder 的重複重新整理和執行UI
- Vue echarts 繫結事件重複執行問題VueEcharts事件
- linux指令碼完成重複執行的命令Linux指令碼
- android執行緒start()、interrupt()之重複使用Android執行緒
- C# 迴圈時,操作另外一個程式直到操作完成,迴圈繼續執行C#