0

我正在使用创建脚本Nightmare,我的脚本必需的步骤是:

  1. 打开页面

  2. 使用 cookie 记录检查

  3. 登录未记录

  4. 完成所有剩下的任务

像这样的代码:

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

    })
    ;

在执行其余必要任务之前,如果未登录,我该如何进行噩梦登录?

4

1 回答 1

1

@4castle 是对的:你应该可以if直接把你的块放在你的.then(). 例如:

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.
  })

如需进一步阅读,您可能需要查看Running Multiple Steps in nightmare-examples.

于 2016-08-03T14:17:22.567 回答