私は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()')
どうすれば止められますか
最も簡単な方法は、エラーハンドラを 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'));
};