2015-11-15 1 views
1

Je voulais obtenir une capture d'écran de mon application web en utilisant le cauchemar. Lorsqu'il n'y a pas d'erreur lors de l'exécution du code et que les sorties sont propres, aucune instance de phantomjs n'est laissée derrière. Cependant, en cas d'erreur, le Web n'est pas en cours d'exécution, le sélecteur n'est pas présent. L'instance des fantômes reste inexitée.comment arrêter les instances de phantomjs correctement avec nightmarejs

$ ps -ax | grep phantom 
6065 ttys004 0:00.00 grep phantom 
6050 ttys005 0:02.87 phantomjs --load-images=true --ignore-ssl-errors=true --ssl-protocol=any --web-security=true /.../node_modules/phantom/shim.js 13201 127.0.0.1 

Comment puis-je quitter correctement son instance même en cas d'erreur?

Répondre

1

Actuellement, le .wait(elem) continue de boucler pour vérifier si l'élément est présent ou non toutes les 250 ms. Vous pouvez signaler cela au développeur pour ajouter un paramètre supplémentaire de passage pour arrêter les vérifications après un délai d'expiration spécifique pour quitter normalement. Vous pouvez également résoudre le problème en vérifiant manuellement la présence de l'élément pendant un certain délai et en quittant le processus.

vous pouvez utiliser wait(fn) pour effectuer la vérification.

+0

oui, je pense aussi que cela pourrait être le problème. BTW, comment avez-vous trouvé le vérifie toutes les 250ms? – surenyonjan

+0

Vous pouvez le trouver dans le code nightmarejs. –