web-dev-qa-db-ja.com

phantomjsのエラーを無視する方法

私はWebクローラーを使用していて、phantomjsを使用してページを解析しています。htmlを取得したいのですが、htmlコードの前に常にこのタイプのエラーが出力されます。

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()')

どうすれば止められますか

24
user2661048

最も簡単な方法は、エラーハンドラを phantom.onerror または webpage.onerror に追加することです。これらのコールバックは、JavaScript実行エラー(ページまたはスクリプト内)があると呼び出されます。

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'));
};
41
Cybermaxs