使用ExecFile从Node传递参数到CasperJS脚本

时间:2015-11-05 05:13:35

标签: node.js casperjs child-process

我正在尝试将args传递给casperjs,以便我可以利用环境变量。出于某种原因,我无法从casper脚本(crawl.js)访问它们。我可以确认,如果我使用args从CLI调用crawl.js,我就能够成功访问它们。

我无法确认语法,因为文档只是为args说了一个数组。

var execFile = require('child_process').execFile;    
var child = execFile('casperjs', 
    ['crawl.js'], [
        "--MM_Report_URL='"+process.env.MM_Report_URL+"'",
        "--MM_login='"+process.env.MM_login+"'",
        "--MM_password='"+process.env.MM_password+"'"
    ]);

1 个答案:

答案 0 :(得分:1)

我能够弄明白,这对我来说是一个愚蠢的错误。我已在下面粘贴了正确的语法。

请注意,我已将文件和其他参数放在同一个数组中。这是因为crawl.js是文件casperjs(可执行文件)的参数。

var execFile = require('child_process').execFile;    
var child = execFile('casperjs', 
    [
        'crawl.js'
        '--MM_Report_URL='+process.env.MM_Report_URL,
        '--MM_login='+process.env.MM_login,
        '--MM_password='+process.env.MM_password
    ]);