使用PhantomJS从wikimapia.org捕获地图会导致分析错误
Capturing map from wikimapia.org with PhantomJS results in Parse Error
我读过一些关于这个主题的帖子,但它们并不是很适合我的需求。这就是我问的原因。我使用的是安装了phantomjs的linux。
我有一个wikimapia.org(类似于谷歌地图的地图网站)。我想用phantomjs打开url "http://wikimapia.org/#lang=en&lat=13.34674&lon=74.748418&z=18&m=m"
。所以我尝试了以下代码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
它还生成了screen.png,既没有显示所需的地图,也没有显示加载图标。还有一个错误显示:
SyntaxError:分析错误TypeError:"undefined"不是对象(正在计算"ns.Utils")
当前的PhantomJS(1.9.7)是QtWebkit的旧分叉,可与Chrome 13或Safari 5相媲美。这意味着某些脚本无法使用它进行评估。
特别是,脚本http://wikimapia.org/js/application.js?601无法分析。这是主要的应用程序,所以完整的地图不起作用。
您可以使用SlimerJS,它具有与PhantomJS相同的API,但使用Gecko(Firefox)引擎。我试过了,它的超时时间更高(30秒)。
由于地图的显示和渲染方式,保存计算源不会在脱机模式下获得实际保存的页面。你能做的最好的事情就是用page.render
截屏。
相关文章:
- 谷歌地图laravel上圆圈的错误位置
- 我该如何解决“;未捕获引用错误:谷歌没有定义"?(谷歌地图API)
- 谷歌地图infowindow错误f=未定义的infowindow.js
- 谷歌地图web组件NoApiKeys错误
- 信息窗口谷歌地图点击事件给出错误
- 嵌入谷歌地图后的CSS错误
- 未捕获的类型错误:无法读取属性'fitBounds'谷歌地图(markrWithlabel js)中未定
- 谷歌地图javascript多个方法错误
- 谷歌地图如何修复OVER_QUERY_LIMIT错误
- 谷歌地图 API 错误:属性<航点>::中的错误
- 谷歌地图API多段线创建失败;未捕获类型错误:数字不是函数;
- 未捕获的类型错误:无法读取属性'长度'未定义的谷歌地图V3
- 未捕获的类型错误:无法读取属性'地图'的未定义
- 棱角分明的谷歌地图标记和$scope$apply();错误
- 谷歌地图InfoBubble函数错误的参数传递
- 谷歌地图数据类型抛出类型错误:can't将未定义转换为对象
- 错误折线谷歌地图
- 谷歌地图Javascript V3未捕获类型错误:无法读取属性'offsetWidth'为null
- 谷歌地图api v3未捕获类型错误:无法读取属性'offsetWidth'为null
- melonjsapi不会加载我的地图,也不会收到任何错误