簡體   English   中英

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

[英]zombie.js: how to see complete (i.e. generated) html

我正在使用CKEditor,我想做一些功能測試。 問題在於CKEditor會以某種方式將自身添加到TEXTAREA標記中,並通過javascript將元素添加到我可以看到的DOM中,即在Mozilla中的“查看生成的源代碼”菜單中。

但是,在使用Zombie進行測試時,無論等待多長時間直到頁面加載,我都看不到生成的代碼(我僅在CKEditor添加的DOM元素中具有a-tags)

     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看到動態加載的元素的方式加載文檔?

嘗試browser.html() 狩獵

console.log(browser.html());

我只是遇到了同樣的問題,並找到了解決方案...萬一有人停在這里:)

實際上, browser.html()不會刷新html。

您必須使用xpath並獲取externalHTML。 嘗試使用xpath這樣的browser.xpath('/html')獲取節點。 然后,您可以獲取它的outerHTML

我使用Mink(PHP),所以我沒有確切的JavaScript代碼,但我給你個主意...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM