Javascript zombie.js:如何查看完整(即生成的)html

Javascript zombie.js:如何查看完整(即生成的)html,javascript,ckeditor,zombie.js,Javascript,Ckeditor,Zombie.js,我正在使用CKEditor,我想做一些功能测试。问题是,CKEditor以某种方式将自己附加到一个TEXTAREA标记上,并通过javascript将元素添加到我可以看到的DOM中,即在Mozilla的“查看生成的源代码”菜单中 但是,在使用Zombie进行测试时,无论我等待页面加载多长时间,我都看不到生成的代码(我只在CKEditor添加的DOM元素中有a标记) 其中browser=newzombie({debug:true,runScripts:true}) 虽然页面已加载,但它似乎只包含“

我正在使用CKEditor,我想做一些功能测试。问题是,CKEditor以某种方式将自己附加到一个TEXTAREA标记上,并通过javascript将元素添加到我可以看到的DOM中,即在Mozilla的“查看生成的源代码”菜单中

但是,在使用Zombie进行测试时,无论我等待页面加载多长时间,我都看不到生成的代码(我只在CKEditor添加的DOM元素中有a标记)

其中
browser=newzombie({debug:true,runScripts:true})

虽然页面已加载,但它似乎只包含“硬编码”的静态代码,而不包含由CKEditor通过javascript添加的代码

因此,问题是:是否有可能加载文档,使Zombie看到动态加载的元素?

尝试
browser.html()
。见第节


我只是有同样的问题,并找到了解决办法。。。如果有人停在这里:)

实际上,
browser.html()
不会刷新html

必须使用xpath并获取outerHTML。尝试使用xpath获取节点,如下所示
browser.xpath('/html')
。然后您可以获得它的
outerHTML

我使用Mink(PHP),所以我没有确切的javascript代码,但我给你一个想法

     browser.wait(function(arg){
        return arg.document.querySelector('a');
      }(browser), 
      function(arg){
        console.log(arg.document.innerHTML);
      }(browser));
console.log(browser.html());