gpt4 book ai didi

javascript - 如何使用 phantomjs 呈现 html 元素

转载 作者:可可西里 更新时间:2023-11-01 02:37:53 25 4
gpt4 key购买 nike

我想将图像保存在代码中指定的 div 中。但是使用下面的代码我正在渲染其他部分。这是正确的方法吗?我只是 phantomjs 的初学者。所以请帮忙。

var page = require('webpage').create();

page.open("http://n1k0.github.io/casperjs/#phantom_Casper_captureSelector", function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {

var clipRect = page.evaluate(function () {
return document.querySelector(".span7 demo").getBoundingClientRect(); });
page.clipRect = {
top: clipRect.top,
left: clipRect.left,
width: clipRect.width,
height: clipRect.height
};



window.setTimeout(function () {
page.render('capture.png');
phantom.exit();
}, 200);
}
});

最佳答案

这可能是完全错误的,但我在评论中提供的链接是这样的:

改变

var clipRect = page.evaluate(function () { 
return document.querySelector(".span7 demo").getBoundingClientRect(); });

到:

var clipRect = document.querySelector(".span7 demo").getBoundingClientRect(); });

编辑

好吧,我想解决这个问题,下面是适合我的代码。我不熟悉使用 querySelector 的 phantomjs api,所以我最终使用了几乎相同的 getElementsByClassName

var page = require('webpage').create();

page.open("http://n1k0.github.io/casperjs/#phantom_Casper_captureSelector", function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {
window.setTimeout(function () {
//Heres the actual difference from your code...
var bb = page.evaluate(function () {
return document.getElementsByClassName("span7 demo")[0].getBoundingClientRect();
});

page.clipRect = {
top: bb.top,
left: bb.left,
width: bb.width,
height: bb.height
};

page.render('capture.png');
phantom.exit();
}, 200);
}
});

关于javascript - 如何使用 phantomjs 呈现 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com