2013-07-07 39 views
2

想像这样如何与CasperJS/PhantomJS脚本中的用户进行交互?

system = require "system" 

system.stdout.write "What's your name? " 
name = system.stdin.readLine() 
system.stdout.writeLine "Hello, #{name}" 

脚本要通过

casperjs name.coffee 
运行

我希望能够在用于运行脚本的终端的用户交互,但我陷入readLine()调用中。

回答

2

由于GarethOwen指出,这确实是可能的。 这是一个非常基本的CasperJS执行Unix命令cat的:

var system = require('system'), 
    casper = require('casper').create(); 
while (!system.stdin.atEnd()) { 
    var line = system.stdin.readLine(); 
    casper.log(line); 
} 
casper.exit(); 

注意,该模块在C++中大多实现: https://github.com/ariya/phantomjs/blob/master/src/system.h

stdin/stdout/stderr是PhantomJs类的实例Filehttps://github.com/ariya/phantomjs/blob/master/src/filesystem.h