2013-10-18 2 views
23

ich einen Web-Crawler haben und ich verwende PhantomJS Seiten zu analysieren, Ich möchte die HTML bekommen, aber ich habe immer diese Art von Fehlern in der Ausgabe vor dem HTML-Code, wie Fehler in PhantomJS zu ignorieren

ReferenceError: Can't find variable: collapse_content_selector 

    http://staticloads.com/js/toggle.js?v=2013.10.04:135 
TypeError: 'undefined' is not a function (evaluating '$('[placeholder]').placeholderLabel()') 

Wie kann ich das stoppen

Antwort

37

Der einfachste Weg ist, eine Fehlerbehandlung zu phantom.onerror oder webpage.onerror hinzuzufügen. Diese Callbacks werden aufgerufen, wenn ein JavaScript-Ausführungsfehler auftritt (auf der Seite oder in Ihrem Skript).

page.onError = function(msg, trace) { 
    var msgStack = ['ERROR: ' + msg]; 
    if (trace && trace.length) { 
     msgStack.push('TRACE:'); 
     trace.forEach(function(t) { 
      msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : '')); 
     }); 
    } 
    // uncomment to log into the console 
    // console.error(msgStack.join('\n')); 
};