我正在尝试截取网页中 iframe 的屏幕截图。
在我的特定情况下,iframe 包含我的一位客户商店的街景视图。
据我搜索和阅读,我没有找到任何解决方案。
我知道有像这样的 JavaScript 库Html2Canvas
and Canvas2Image
,但他们无法捕获 iframe。
Here http://jsfiddle.net/adrianogiannacco/9zr83mvj/是我正在研究的小提琴。
这些库可以与除 iframe 之外的每个 HTML 元素一起正常工作。
这是小提琴的 JavaScript:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#widget"), {
onrendered: function(canvas) {
var context=canvas.getContext("2d"); // returns the 2d context object
// Convert and download as image
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
}
});
});
});
是否存在其他捕获 iframe 的方法?
有没有付费的第三方服务可以做到这一点?
如果 iframe 不起作用,是否有其他方法可以实现我想要做的事情?
如果需要更多信息,请告诉我。
任何帮助将不胜感激。
提前致谢
如果您需要以编程方式进行捕获,您可以选择将 NodeJS 与 puppeteer 一起使用,puppeteer 是一个使用 chromium 来模拟 Web 浏览器的库。我给你举一个截屏的例子:
const puppeteer = require('puppeteer');
async function run() {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.goto('https://www.scrapehero.com/');
await page.screenshot({ path: './image.jpg', type: 'jpeg' });
await page.close();
await browser.close();
}
run();
这是我得到它的来源:https://www.scrapehero.com/how-to-take-screenshots-of-a-web-page-using-puppeteer/ https://www.scrapehero.com/how-to-take-screenshots-of-a-web-page-using-puppeteer/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)