2016-08-02 1 views
0

Je crée un script en utilisant , les étapes de mes scripts sont nécessaires:Comment faire quelque chose en fonction de la condition dans Nightmare?

  1. Ouvrez la page

  2. Check est connecté avec cookies

  3. Connexion est pas connecté

  4. Effectuer toutes les tâches de repos

Quelque chose comme ce code:

nightmare 
    .goto(url) 
    .cookies.get('cookie_key') 
    .then(cookie => { 

    }) 
    ; 

Comment puis-je faire pour connexion de cauchemar si n'est pas connecté, avant d'exécuter des tâches nécessaires repos?

+1

Ne pouvez-vous pas simplement mettre une instruction 'if' dans votre' then() '? – 4castle

Répondre

1

@ 4castle est à droite: Vous devriez pouvoir mettre votre bloc if directement dans votre .then(). Par exemple:

nightmare 
    .goto(url) 
    .cookies.get('cookie_key') 
    .then(cookie => { 
    if(cookie){ 
     //perform your login action 
     return nightmare 
     .type('#username', username) 
     .type('#password', password) 
    } else { 
     //if you need to perform other logic 
     //if you're already logged in, do it here 
     //otherwise, this `else` can be omitted 
    } 
    }) 
    .then(()=>{ 
    return nightmare 
     .action() 
     .action() 
     //etc. 
    }) 

Pour en savoir plus, vous pouvez jeter un oeil à Running Multiple Steps dans nightmare-examples.