Est-il une console de PhantomJS?
J'ai trouvé ceci sur github: https://github.com/gr2m/phantomjs-console
Mais c'est un peu fou, d'avoir à écrire des commandes dans un fichier, sur une seule ligne, qui est ensuite lu et supprimé, et la sortie dans le terminal.
Je veux une console comme...
$ phantomjs --console
phantom> console.log(typeof $)
[Object Function]
phantom> console.log("happy days")
happy days
phantom>
Est-il quelque chose comme cela?
EDIT: commence à comprendre pourquoi ils l'ont fait dans un tel chemin...
De PhantomJS-Nœud: https://github.com/sgentle/phantomjs-node
Non, vraiment, comment ça fonctionne?
Je vais répondre à cette question par une question.
Comment voulez-vous communiquer avec un processus qui ne prend pas en charge
la mémoire partagée, les sockets, Fifo, ou de l'entrée standard?Bien, il y a une chose PhantomJS prend en charge, et c'est l'ouverture
les pages web. En fait, il est vraiment bon à l'ouverture des pages web. Nous avons donc
communiquer avec PhantomJS par la rotation d'une instance de ExpressJS,
ouverture de Fantôme dans un sous-processus, et pointant vers une page spéciale
qui transforme socket.io messages dansalert()
appels. Ceuxalert()
appels
sont captés par des Fantômes et là vous allez!La communication elle-même passe par James Halliday est fantastique dnode
la bibliothèque, qui, heureusement, fonctionne assez bien lorsqu'il est combiné avec
browserify à courir tout droit sorti de PhantomJS du pidgin Javascript
de l'environnement.Si vous souhaitez hack sur fantôme, s'il vous plaît! Vous pouvez exécuter les tests
avec un gâteau de test ou de mnp de test, et de reconstruire le coffeescript/browserified
code avec un gâteau de construire. Vous pourriez avoir besoin pournpm install -g coffeescript
pour le gâteau au travail.
OriginalL'auteur Billy Moon | 2013-02-23
Vous devez vous connecter pour publier un commentaire.
Il y a un mode interactif (REPL) depuis la version 1.5 près d'un an. Vous avez juste besoin de lancer PhantomJS sans aucun argument et il va immédiatement commencer à REPL mode.
Maintenant que vous avez mentionné, c'est en fait clairement documenté dans l'aide sur la ligne de commande...
Without any argument, PhantomJS will launch in interactive mode (REPL).
je ne comprends pas pourquoi je ne pouvais pas trouver cette info avant.Et il semble un bug dans le REPL empêche pages d'ouverture... donc retour à mon hackish solution pour l'instant...
REPL ne peut pas ouvrir les pages...?
OriginalL'auteur Ariya Hidayat
Bien, j'ai fini par écrire un script pour la console de script que j'ai à l'origine lié à: https://github.com/gr2m/phantomjs-console
C'est un désordre façon de le faire, mais en fait, il fonctionne exactement comme je le veux. Il s'avère, que phantomjs a des plans pour gérer stdin/stdout, mais il n'est pas encore mis en œuvre. Lorsqu'il est mis en œuvre, cette folle méthode d'interaction va devenir obsolète, et une nouvelle, simple script sera en mesure d'agir en tant que console.
OriginalL'auteur Billy Moon