CCI*_*ent 11 google-maps phantomjs
我的最终目标是打开嵌入了javascript的本地html文件,创建一个包含多边形的地图,并使用PhantomJS截取它.我写了一个简单的JS文件来做到这一点:
var page = require('webpage').create();
page.open('https://www.google.com/maps', function(status) {
console.log('State: ' + status);
if(status === 'success') {
page.render('example.pdf', {format: 'pdf', quality: '100'});
}
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)
这会返回错误:
ReferenceError: Can't find variable: google
Run Code Online (Sandbox Code Playgroud)
我已经在本地html文件和使用谷歌地图的其他网站上尝试了这个,我一直得到同样的错误.我成功地拍摄了没有谷歌地图的其他网站的截图.在互联网上搜索,似乎人们没有像这样的问题,并且成功地用谷歌地图截取页面...所以我想知道什么是错的.
另一个注意事项:我在我的rails项目中安装了PhantomJS作为gem,并使用这个gem通过rails控制台运行javascript文件.我已经尝试使用PhantomJS(v 2.0.0)的标准安装,它仍然无法正常工作.
小智 -1
你应该尝试一下puppeter,这很容易:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.pdf'});
await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2537 次 |
最近记录: |