2014-12-08 93 views
0

我想从网站采取2截图 - 一个之前,一个注入到网站,和一个后。PhantomJS截图和比较(Resemble.js?)

问题是 - 当我尝试在所有资源加载完毕后(并在注入脚本之前)执行第一个屏幕截图 - 它不会从onInitialized函数内部创建屏幕截图..任何线索为什么?

page.onInitialized = function() { 
    page.render('e1.png'); 
    page.evaluate(function() { 
     <here i'm injectingo the page> 
    }); 
}; 

另外 - 我怎么能比较两个截图类似js?我使用npm安装了软件包,并且我正在使用phantomjs运行测试,那么将通过phantomjs创建的屏幕截图保存到变量中然后使用resemble.js进行编译的方法是什么? 我很高兴看到一个代码正在满足我的需求。 非常感谢!

回答

0

page.onInitialized事件是

网页被创建,但在加载URL前后调用

您需要使用page.onLoadFinishedpage.open回调等到其所有的资源页面加载。请注意,如果页面是通过JavaScript动态生成的,则需要等待setTimeout

+0

我还没有使用过resemble.js,所以我现在无法回答它。 – 2014-12-08 10:28:26