Jos*_*eph 16 node.js phantomjs
我最近将测试从python运行phantomJS作为命令行参数,我还没有完成它但是已经看到了例子.因为PhantomJS是从命令行运行的,所以这似乎是可能的.PhantomJS吐出的结果将直接变成一个变量.
在我走这条路之前,在node.js中进行这项工作对我来说实际上会更有用,它让我思考,我可以使用节点来运行PhantomJS,因为程序从命令行运行并存储数据结果PhantomJS通常会吐出一个变量吗?
我宁愿不使用phantomjs-node,因为它似乎使用了太多的技巧.
所有这一切的原因是能够在程序采取的另一个动作的同时运行PhantomJS并使用其记录的结果数据用于其他一些东西.
简单地说,你可以在python中运行系统命令行东西,我可以在node.js中做同样的事情吗?
干杯:)
编辑:我理解节点和幻像使用不同的js环境,这很酷,因为我只想将幻像作为自己的进程运行并将所有输出数据捕获到node.js变量中(数据将是一对数组,字符串和浮点.)我不想用幻象"开车",我会制作加载的javascript文件,以达到我想要的效果.我想要的只是幻象输出.:)
Don*_*rek 19
来自NPM:https://npmjs.org/package/phantomjs
var path = require('path')
var childProcess = require('child_process')
var phantomjs = require('phantomjs')
var binPath = phantomjs.path
var childArgs = [
path.join(__dirname, 'phantomjs-script.js'),
'some other argument (passed to phantomjs script)'
]
childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {
// handle results
})
Run Code Online (Sandbox Code Playgroud)
作为Donald Derek答案的替代方案,您可以使用该spawn功能.它允许您在生成后立即读取子进程的输出,而不是将输出缓冲并立即返回给您.
你可以在这里阅读更多相关信息.
文档中的一个示例.
var spawn = require('child_process').spawn,
ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
ls.on('close', function (code) {
console.log('child process exited with code ' + code);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19691 次 |
| 最近记录: |