2017-03-09 4 views
0

Je ne peux pas faire le travail de cauchemar:js Nightmare ne peut pas lire la propriété 'focus' de null

Mon code

var Nightmare = require('nightmare'), 
    nightmare = Nightmare({ 
    show: true 
    }); 

console.log('fer'); 

nightmare 
    .goto('http://www.google.com') 
    .type('input[title="Search"]', 'github nightmare') 
    .click('name[btnK]') 
    .wait('#main') 
    .evaluate(function() { 
    console.log('xxxxxx'); 
    var x = document.querySelector('.srg .g'); 
    var item = x.querySelector("h3").textContent; 
    console.log(item); 
    }) 
    .end() // end the Nightmare instance along with the Electron instance it wraps 
    .then(function(result) { 
    console.log(result); 
    }); 

Erreur

set DEBUG=nightmare & node src\crawler\google-spider.js 
    nightmare queuing process start +0ms 
fer 
    nightmare queueing action "goto" for http://www.google.com +10ms 
    nightmare queueing action "type" +23ms 
    nightmare queueing action "click" +0ms 
    nightmare queueing action "wait" +1ms 
    nightmare queueing action "evaluate" +0ms 
    nightmare running +1ms 
    nightmare electron child process exited with code 0: success! +5s 
(node:7912) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Cannot read property 'focus' of null 

est-il un moyen de montrer où il échoue, ou quelle est la propriété null

cauchemar électron enfant processus quitté avec le code 0: succès! + 5 s (noeud: 7912) UnhandledPromiseRejectionWarning: Unhandled rejet de la promesse (identifiant de rejet: 1): Impossible de lire la propriété 'focus' de null

Répondre

0

Essayez de mettre tous les messages de cauchemar:

DEBUG = cauchemar *

0

L'appel type génère l'erreur, je sais parce que seulement type appeler la propriété focus.

De même, console.log('xxxxxx'); ne s'affichera pas car le code à l'intérieur de l'évaluation s'exécute sur l'instance Electron.