Javascript 使用PhantomJS从wikimapia.org捕获地图会导致解析错误

Javascript 使用PhantomJS从wikimapia.org捕获地图会导致解析错误,javascript,phantomjs,Javascript,Phantomjs,我已经读了一些关于这个主题的帖子,但它们并不是非常具体地针对我的需要。这就是我问的原因。我正在使用安装了phantomjs的linux 我有一个wikimapia.org(类似于谷歌地图的地图网站)。我想打开url“http://wikimapia.org/#lang=en&lat=13.34674&lon=74.748418&z=18&m=m“使用幻影JS。因此,我尝试了以下代码test.js var page = require('webpage').create(); page.open(

我已经读了一些关于这个主题的帖子,但它们并不是非常具体地针对我的需要。这就是我问的原因。我正在使用安装了phantomjs的linux

我有一个wikimapia.org(类似于谷歌地图的地图网站)。我想打开url
“http://wikimapia.org/#lang=en&lat=13.34674&lon=74.748418&z=18&m=m“
使用幻影JS。因此,我尝试了以下代码
test.js

var page = require('webpage').create();
page.open("http://wikimapia.org/#lang=en&lat=13.34674&lon=74.748418&z=18&m=m", function(){
    setTimeout(function () {
        console.log(page.content);
        page.render("screen.png");
    }, 5000);
});
然后我运行:
phantomjs test.js
同时它生成的screen1.png既不显示所需的映射,而是显示一个加载图标。还显示了一个错误:

SyntaxError: Parse error TypeError: 'undefined' is not an object (evaluating 'ns.Utils') 语法错误:分析错误 TypeError:“undefined”不是对象(正在计算“ns.Utils”) 当前的PhantomJS(1.9.7)是QtWebkit的旧叉子,与Chrome 13或Safari 5相当。这意味着某些脚本无法使用它进行计算

特别是,无法解析脚本。这是主应用程序,因此完整的地图将不起作用

您可以使用与PhantomJS相同的API,但使用Gecko(Firefox)引擎。我已经试过了,它的超时时间更高(30秒)


由于地图的显示和渲染方式,保存计算源不会在脱机模式下获得实际保存的页面。你能做的最好的事情就是用
page.render

截图,这样你就想把地图完全嵌入到html文件中,这样即使你没有互联网连接也可以加载地图?如果是,我认为这是不可能的。要拍摄屏幕截图,请使用
page.render(“screen.png”)
我已在两个位置编辑了添加了代码的脚本。两个PNG都没有显示地图。我想保存地图。如果这是不可能的,我也很好的图像。我尝试了你的代码。请看编辑后的问题。语法正确吗。因为它显示的是加载的圆形图像,你能试试吗?如果你得到的图像与地图,请让我知道。