2017-10-20 18 views
0

Je crée donc un script qui utilise nightmareJS et les requêtes. Je fais les demandes de saisir des données à partir d'une page Web, puis j'ai aussi nightmareJS naviguer vers une page. Je puis injecter un fichier javascript dans la session cauchemardesque en utilisantComment charger un fichier externe avec les paramètres

.inject('js', 'injectFile.js') 

tout cela fonctionne parfaitement, mais Im essayant d'obtenir quelque chose d'autre. Après avoir saisi des données de l'autre page en utilisant des requêtes, je voudrais passer ces données dans le fichier injectFile.js. Par exemple, je voudrais obtenir une URL avec la demande. puis utilisez cette URL dans le fichier injectFile.js lorsqu'il est appelé. Y at-il de toute façon/module pour y parvenir? Merci à l'avance

Répondre

0

La meilleure façon de le faire est de définir une fonction dans injectFile.js, de sorte que ce que vous faites ne fonctionne pas immédiatement lorsque vous injectez le fichier, mais seulement lorsque vous appelez la fonction:

function doStuff(params) { 
    // do stuff with params 
    // (this probably contains your entire injectFile.js script) 
} 

utilisez ensuite nightmare.evaluate pour appeler cette fonction après avoir injecté dans le contexte du navigateur:

nightmare.evaluate(function(params) { 
    doStuff(params); 
}, yourFavoriteParamValues)