[英]Set viewport of PhantomJS with node.js
我有一個問題,我似乎無法從Node.js內為PhantomJS設置視口,而是使用Phantom-Proxy作為橋接兩者的模塊。
我已經成功地捕獲了所有的Web屏幕截圖,但是就像我上面說的那樣,我只是無法設置視口大小。
在Phantom-Proxy文檔中,它說我應該將viewport屬性設置為:
//set viewport size for browser window
proxy.page.set('viewportSize',
{ width:320, height:480 }, function (result) {
console.log(result.toString().cyan);
worldCallback.call(self);
});
因此,在我的代碼中,我嘗試將視口設置在實際占用屏幕抓圖的線條上方:
module.exports = function (app, phantom) {
app.get('/url/:url/:width?/:height?', function (req, res) {
phantom.create({"debug": true}, function (proxy) {
var page = proxy.page;
page.set('viewportSize', { width: 320, height: 480 }, function (result) {
console.log(result);
});
page.open(req.params.url, function () {
page.waitForSelector('body', function () {
page.renderBase64('PNG', function (img) {
res.set('Content-Type', 'image/png');
res.end(new Buffer(img, 'base64'), 'binary');
});
});
});
});
});
};
盡管我認為這行不通,所以我嘗試將page.open
放在page.set
的回調中,並且它被忽略了,還嘗試將page.set
放在page.open
的回調中,然后將page.waitForSelector
放在其中那。
視口似乎仍然被忽略了!
任何幫助將不勝感激與此! 謝謝你們
事實證明它一直在工作。
基本上,盡管正確設置了視口,但這並不意味着網頁必須是視口的寬度和高度(除非,例如,主體的width
為100%
)。
該網頁將在視口中滾動,因此整個頁面仍將呈現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.