使用JavaScript时出现PhantomJS内存耗尽错误
到目前为止,我已经在网上搜索了一个解决方案。我知道这是一个有文档记录的问题,但我只尝试加载一个网页,所有的响应都是这样的,我尝试在200个页面上进行测试 我试过: page.settings.loadImages=true; page.settings.loadplugins=false 我添加了``page.close`,尽管正如我所说,它现在只有一个URL 我也尝试过将loadImages设置为false。当我删除我的一行JavaScript(例如,用document.title替换它)时,它工作得很好,但只要那一行存在,内存使用量就会飙升到1000MB,然后它就退出了 我唯一的目标是检查页面上是否存在某个元素。我如何解决这个问题?我在网上找到的解决方案都不适合我 有关守则:使用JavaScript时出现PhantomJS内存耗尽错误,javascript,phantomjs,Javascript,Phantomjs,到目前为止,我已经在网上搜索了一个解决方案。我知道这是一个有文档记录的问题,但我只尝试加载一个网页,所有的响应都是这样的,我尝试在200个页面上进行测试 我试过: page.settings.loadImages=true; page.settings.loadplugins=false 我添加了``page.close`,尽管正如我所说,它现在只有一个URL 我也尝试过将loadImages设置为false。当我删除我的一行JavaScript(例如,用document.title替换它)时,
var system = require('system');
var page = require('webpage').create();
page.settings.userAgent = 'Chrome/52.0.2743.116';
var url = 'http://www.example.com/';
var ending = system.args[1];
ending = encodeURIComponent(ending);
url = url + ending;
page.settings.loadImages = false;
page.settings.loadplugins = false;
page.viewportSize = { width: 1680, height: 1050 };
page.open(url, function(status) {
setTimeout(function(){
var elem = page.evaluate(function() {
return $(".primary-info")[0];
});
if(!elem){
console.log('no image found');
page.render(ending+'.png');
}
page.close();
phantom.exit();
}, 5000);
});
不要只返回整个对象,它可能有很多属性。只带必要的东西:
var elem = page.evaluate(function() {
var data = {};
var item = $(".primary-info")[0];
data.title = item.value;
data.color = item.style.color;
return data;
});
非常感谢你!我想现在可以了!哦,你帮我省了那么多体力活。。。我不知道它想要回报这么多