如何使用phantomjs截取网页的屏幕截图?

时间:2019-11-17 23:02:28

标签: javascript html phantomjs headless

我了解如何拍摄整个网页的屏幕截图,但如何使用phantomjs捕获特定元素的视图。 我正在尝试按照

var page = require('webpage').create(); 
page.content = page.open('https://www.google.co.in/');
page.evaluate(function() {
  
   
var canvas = document.getElementById('hplogo');
var ctx = canvas.getContext('2d');

var img = new Image();
var imgdata =  document.querySelectorAll('img');
img.src = imgdata[0].src;

  var pattern = ctx.createPattern(img, 'repeat');
  ctx.fillStyle = pattern;
  ctx.fillRect(0, 0, 300, 300);



}); 
page.render('canvas.png'); 
phantom.exit(); 

以上代码无法正常工作,以上代码中的工作是通过id选择Google网页img部分的元素,然后创建一个图像对象并分配查询选定标签IMG的src,然后填写模式,我的时间的辛苦工作没有取得任何结果。

我想要的是:我想要通过'page.open'呈现的img元素的屏幕截图,可以通过查询选择器选择它并输出png文件。欢迎使用PHANTOMJS的其他替代方法。 在此先感谢。

0 个答案:

没有答案