PhantomJs与节点

我试图使用phantomjs节点来获取网页上的屏幕截图。 我几乎所有的,但我面临的问题在滚动。 我已经使用了滚动位置,但不能正确滚动。

phantom.create() .then(instance => { return instance.createPage(); }) .then(page => { _pageInstance = page; return _pageInstance.open('xyz')}) .then(){ () => { detailPage = _pageInstance.evaluate(function() { var pageSettings = { scrollToPos: [], elementHeight: [], offsetLeft: [] }; jQuery('li.diff-comment-activity').each(function(index, item) { var offsetTop = jQuery('li.diff-comment-activity .detail')[index].offsetTop; var elmntHeight = jQuery('li.diff-comment-activity .detail')[index].offsetHeight; var offsetLeft = jQuery('li.diff-comment-activity')[index].offsetLeft; pageSettings.scrollToPos.push(offsetTop); pageSettings.elementHeight.push(elmntHeight); pageSettings.offsetLeft.push(offsetLeft); }); return pageSettings; }); setTimeout(function() { console.log('Getting your screen shots...'); detailPage.then(function(detail) { _details = detail; _pageInstance.property('viewportSize', { width: 1920, height: 1040 }); _details.scrollToPos.forEach(function(value, index) { _pageInstance.property('scrollPosition', { top: value }); _pageInstance.property('clipRect', { top: 10, left: 300, width: 1400, height: _details.elementHeight[index] }); console.log('value ' + value); _pageInstance.render('Image_' + index + '.jpeg', { format: 'jpeg', quality: '100' }); }); }); console.log('Done'); }, 5000); } 

在这里,我已经使用jquery获得所有元素的偏移顶部 ,然后使用scrollposition到达该元素,然后剪切矩形获取屏幕截图。

但是对于less量屏幕截图,页面只是滚动到偏移顶部之外。 *

intresting部分是当我运行代码只使用phamtomJS它工作正常。

*任何帮助..