私はこれをgithubで見つけました:https ://github.com/gr2m/phantomjs-console
しかし、コマンドを1行だけファイルに書き込んでから読み取り、削除し、出力をターミナルに保存する必要があるのは少しおかしなことです。
私は次のようなコンソールが欲しい...
$ phantomjs --console
phantom> console.log(typeof $)
[Object Function]
phantom> console.log("happy days")
happy days
phantom>
このようなものはありますか?
編集:なぜ彼らがそのようなクレイジーな方法でそれをしたのかを理解し始めています...
PhantomJS-Nodeから:https ://github.com/sgentle/phantomjs-node
いいえ、実際にはどのように機能しますか?
その質問に質問で答えます。共有メモリ、ソケット、FIFO、または標準入力をサポートしていないプロセスとどのように通信しますか?
PhantomJSがサポートしていることが1つあります。それは、Webページを開くことです。実際、Webページを開くのは本当に得意です。そのため、ExpressJSのインスタンスを起動し、サブプロセスでPhantomを開き、socket.ioメッセージを
alert()
呼び出しに変換する特別なWebページにポイントすることで、PhantomJSと通信します。それらのalert()
呼び出しはPhantomによってピックアップされ、そこに行きます!通信自体は、James Hallidayの素晴らしいdnodeライブラリを介して行われます。これは、browserifyと組み合わせると、 PhantomJSのpidginJavascript環境から直接実行できるよう に十分に 機能します。
ファントムをハックしたい場合は、やってください!ケーキテストまたはnpmテストを使用してテストを実行し、ケーキビルドを使用してcoffeescript/browserifiedコードを再構築できます。
npm install -g coffeescript
あなたはケーキが機能するために必要かもしれません。