Passar argumentos com page.evaluate

Estou usando o PhantomJS page.evaluate () para fazer algumas raspagens. Meu problema é que o código que passo para a página do webkit está em área restrita e, portanto, não tem acesso às variáveis do meu script fantasma principal. Isso torna difícil tornar o código de raspagem genéric

page.open(url, function() {
  var foo = 42;

  page.evaluate(function() {
    // this code has no access to foo
    console.log(foo);
  });
}

Como eu pus argumentos na págin

questionAnswers(16)

yourAnswerToTheQuestion