casper js截图不使用svg掩码

时间:2013-06-20 06:13:25

标签: casperjs

我正在创建使用svg掩码的d3的可视化,我正在尝试使用casper js获取屏幕截图。它通常可以正常工作,除非它没有正确渲染蒙版;它显示了所有层,而不仅仅是被屏蔽的层。这是casper代码:

var casper = require('casper').create();

casper.start('http://localhost:3000', function() {
    this.captureSelector('bicycles.png', 'svg');
});

casper.run();

其他人有这个问题吗?

谢谢,汤姆

1 个答案:

答案 0 :(得分:0)

我不知道它是否会有所帮助,但在我的测试中,我总是设置视口大小,然后在运行任何其他代码之前添加延迟。延迟的一个原因是因为我们使用knockout并且在调用'start'函数时尚未完全创建DOM元素。

所以你的测试看起来像这样:

var casper = require('casper').create();

casper.start('http://localhost:3000', function () {
    casper.viewport(1024, 768);
});

casper.wait(1000); // Wait for knockout bindings and animations...

casper.then(function () {
    this.captureSelector('bicycles.png', 'svg');
});

casper.run();

可能不会帮助你,但值得一试?