page.clipRect导致page.render()挂起

时间:2016-11-09 17:30:37

标签: javascript phantomjs

我有这个脚本用于使用PhantomJS截取屏幕截图:

var page = require('webpage').create();
    page.open('https://github.com', function() {
    page.viewportSize = { width: 320, height: 600 };
    page.render('e:\\Screenshots\\test.png');
    phantom.exit();

它工作正常,但我想设置视口的高度,因为它当前是整个页面的高度。

文档说使用page.clipRect:http://phantomjs.org/screen-capture.html

但是下面的代码不起作用,它只是挂起并且永远不会截屏:

var page = require('webpage').create();
    page.open('https://github.com', function() {
    page.viewportSize = { width: 320, height: 600 };
    page.clipRect = { top: 0, left: 0, width: 320 height: 600 };
    page.render('e:\\Screenshots\\test.png');
    phantom.exit();

我没有得到任何错误,只是没有任何反应和输入停止。

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

只是一个简单的错字:

page.clipRect = { top: 0, left: 0, width: 320 height: 600 };

应该是

page.clipRect = { top: 0, left: 0, width: 320, height: 600 };
                                             ^

但为什么PhantomJS会默默地挂在那里? v2中存在一个错误,因为错误无法显示,所以现在我使用v1.9.8来查找语法错误。