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

时间:2014-03-19 07:05:01

标签: javascript ckeditor zombie.js

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

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

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

其中browser = new Zombie({debug: true, runScripts: true});

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

所以,问题是:是否可以以Zombie看到动态加载的元素的方式加载文档?

2 个答案:

答案 0 :(得分:0)

试试browser.html()。请参阅Hunting

部分
console.log(browser.html());

答案 1 :(得分:0)

我遇到了同样的问题并找到了解决办法......如果有人在此停留:)

确实,browser.html()不刷新html。

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

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