javascript - 截取元素的屏幕截图

标签 javascript jquery node.js phantomjs

嘿,我正在尝试使用 phantomjs 渲染特定元素的屏幕截图。我正在为nodejs使用phantomjs桥:phantom

这是我到目前为止得到的:

page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
var elementBounds = page.evaluate(function () {
    var clipRect = document.querySelector("#yw0").getBoundingClientRect();
    return {
        top: clipRect.top,
        left: clipRect.left,
        width: clipRect.width,
        height: clipRect.height
    };
});
var oldClipRect = page.clipRect;
page.clipRect = elementBounds;
page.render('element.png');
page.clipRect = oldClipRect;

它不知何故不起作用,我总是得到整个页面的屏幕截图!我做错了什么?

最佳答案

使用 NightmareJs 解决了这个问题。这是我的代码:

var Nightmare = require('nightmare');
var Screenshot = require('nightmare-screenshot');
var nightmare = new Nightmare();
nightmare.goto('url');
nightmare.use(Screenshot.screenshotSelector('element.png', 'img[id="yw0"]'));
nightmare.run();

关于javascript - 截取元素的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471933/

相关文章:

jquery - 在 jQuery 中隐藏 <form> 标签

php - 我什么时候使用 PHP_EOL 而不是\n ,反之亦然? Ajax/Jquery 客户端问题

node.js - 有人设法让 Leaflet.Elevation 与 react 传单一起工作吗?

javascript - AJAX 回合制游戏

javascript - 如何向 CSS Accordion 添加加减号

javascript - 仅当按钮具有特定 ID 时,jQuery 保存/编辑按钮操作

javascript - react : Prevent click on scrollbar from propagating

c# - 如何解析 Json.NET 多态对象?

javascript - 音频标签从另一个站点播放声音

node.js - npm 安装 403 问题