2017-10-20 18 views
0

J'ai réussi à obtenir mon code pour attendre l'invite, mais pour une raison quelconque, il ne continue pas après avoir reçu l'invite. La sortie est:Marionnettiste avec invite, en ignorant le reste de la fonction

prompt: password: 
Command-line input received: 
    password: password 

Voici le code:

const puppeteer = require('puppeteer'); 
const prompt = require('prompt'); 
const url = 'some url'; 

var schema = { 
    properties: { 
    password: { 
     hidden: true 
    } 
    } 
}; 

prompt.start(); 

(async() => { 
    var result = await new Promise(function (resolve, reject) { 
     return prompt.get(schema, function (err, result) { 
      console.log('Command-line input received:'); 
      console.log(' password: ' + result.password); 
      return result; 
     }) 
    }); 
    console.log(result); 
    const browser = await puppeteer.launch({ headless: false }); 
    const page = await browser.newPage(); 
    await page.goto(url); 
    /* truncated */ 
})(); 

Répondre

1

Vous avez à résoudre la promesse. J'ai réécrit le code un peu pour montrer le concept dans la pratique.

const puppeteer = require('puppeteer'); 
const prompt = require('prompt'); 

var schema = { 
    properties: { 
     url: { 
      hidden: false 
     } 
    } 
}; 

prompt.start(); 

(async() => { 
    var result = await new Promise(function (resolve, reject) { 
     prompt.get(schema, function (err, result) { 
      resolve(result); 
     }); 
    }); 
    const browser = await puppeteer.launch({ 
     headless: true 
    }); 

    const page = await browser.newPage(); 
    await page.goto(result.url); 
    const title = await page.title(); 

    console.log(`${result.url} has title: ${title}`); 

    await page.close(); 
    await browser.close(); 
    /* truncated */ 
})(); 

En cours d'exécution, vous obtiendrez les résultats suivants.

▶ node prompt.js 
prompt: url: http://example.com 
http://example.com has title: Example Domain 

▶ node prompt.js 
prompt: url: http://google.com 
http://google.com has title: Google 

Bonne chance.

+0

Je reviendrai vers vous quand j'aurai accès au code –