Windows でプロセス メモリを監視しているため、配列内の多くのページ (数千単位) を開くと、メモリ リークが発生しているようです。
これを読んで、http://phantomjs.org/api/webpage/method/close.htmlを使用することにしました
以下はコードです
var casper = require("casper").create({
verbose: true,
logLevel: 'debug',
pageSettings: {
userAgent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'
}
}),
utils = require('utils');
casper.start();
casper.thenOpen('http://www.google.com/', function(response) {
this.echo(this.getTitle());
});
casper.then(function() {
casper.page.close();
});
casper.thenOpen('http://www.yahoo.com/', function(response) {
this.echo(this.getTitle());
});
casper.run(function() {
console.log('End');
casper.exit();
});
しかし、それは私にエラーを与えました:
Error: cannot access member `customHeaders' of deleted QObject
test:1182 in open
test:1555 in _step
test:1335 in runStep
test:332 in checkStep
page
では、別のページを開く前に毎回オブジェクトを閉じるにはどうすればよいでしょうか? それともより大きな問題は、Phantom.js でメモリ リークを防ぐ方法ですか?