16

私は最近、コマンドライン引数として python から phantomJS を実行することをテストするつもりでした。まだ慣れていませんが、例を見てきました。PhantomJS はコマンド ラインから実行されるため、これは可能のようです。PhantomJS が吐き出す結果は、そのまま変数に入れられます。

その道をたどる前に、node.jsでこれを機能させると、実際にはもっと便利になるので、プログラムがコマンドラインから実行され、データ結果を保存するときに、ノードを使用してPhantomJSを実行できるかどうかを考えました。 PhantomJS は通常、変数に吐き出しますか?

あまりにも多くのトリックを使用しているように見えるため、phantomjs-nodeを使用したくありません。

このすべての理由は、プログラムが実行する別のアクションと同時に PhantomJS を実行し、記録された結果のデータを他のものに使用できるようにするためです。

簡単に言えば、Python でシステム コマンド ラインを実行できますが、node.js でも同じことができますか?

乾杯 :)

編集: ノードとファントムは異なる js 環境を使用することを理解しています。ファントムを独自のプロセスとして実行し、そのすべての出力データを node.js 変数にキャッチしたいだけなので、これはクールです (データはペアの配列、文字列になります)および浮動小数点。) ファントムで「ドライブ」したくありません。ロードされた JavaScript ファイルを作成して、必要なことを行います。私が欲しいのはファンタム出力だけです。:)

4

3 に答える 3

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
})
于 2013-12-09T18:48:47.753 に答える
14

Node.js を実行するための簡単なスクリプトを作成できると思います。そのスクリプトでは、スクリプトphantomjsは子プロセスとして実行されます。この回答では、実際の例 (および一部のドキュメントへのリンク) を確認できます。この議論もあなたに役立つと思います。

于 2012-06-29T10:51:43.543 に答える