javascript - PhantomJS 截图总是空白

标签 javascript phantomjs

我安装了 PhantomJS 和来自 the official Phantom website 的示例脚本工作正常。

我正在尝试获取 this screenshot example上类:

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});

但我得到的只是一个重达 582Kb 的空白 github.png 文件

有什么想法吗?

最佳答案

@ced-b 的建议是明智的,但我认为使用超时不会解决您的问题,因为真正的问题很可能与 SSL/TLS 有关。 GitHub 是一个 HTTPS 网站。因此,如果您想获取屏幕截图,您可能需要在运行 PhantomJS 脚本时添加 --ignore-ssl-errors=true 选项。默认情况下,您应该收到一个狭窄的屏幕截图,但您当然可以设置更大的视口(viewport):

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

page.viewportSize = {
  width: 1920,
  height: 1080
};

page.open('https://github.com/', function () {
  page.render('github.png');
  phantom.exit();
});

关于javascript - PhantomJS 截图总是空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45200869/

相关文章:

javascript - 无法验证表单是否已使用 CasperJS 和 jQuery 填写

javascript - 在 PhantomJS 中运行 Javascript 自定义函数

javascript - Node.js 与 mySQL -> 连接拒绝 127.0.0.1 : 3306

javascript - 使用javascript regexp匹配日志文件尾

javascript - if 条件如何在 javascript 中评估其值

javascript - PhantomJS 主机文件更改或主机 header

javascript - 卡斯珀 JS : TypeError: 'null' is not an object

javascript - 使用 getBoundingClientRect() 数据重新定位项目

Javascript - 为什么这段 Javascript 代码在 JSFiddle 和 JSBin 中有效,但在任何浏览器中都无效?

javascript - 如何将 jQuery 附加到 Selenium 的 PhantomJS 驱动程序(Python 绑定(bind))