當從評估上下文調用函數時,是否有任何方法可以調用casperjs方法(如捕獲)?從DOM上下文中調用casperjs捕獲(評估)
說明:我希望能夠編寫可以在「真實」瀏覽器或casper中運行的js腳本(qunit)。
樣品:
function screenshot()(
//i'm runing in a "real" browser ? Then only console.log
//i'm running in casper ? Then call capser.capture()
我試圖與關閉,但失敗:
var casper = require('casper').create();
casper.start('http://google.fr/');
casper.evaluate(function(o) {
o.capture('/tmp/google.png', {
top: 100,
left: 100,
width: 500,
height: 400
});
}, {o: this});
casper.run()
TypeError: JSON.stringify cannot serialize cyclic structures.
:/modules/webpage.js:249
/Users/macbookpro/js:576 in evaluate
/Users/macbookpro/js/testClosure.js:11
我知道有使用用途的console.log作爲消息總線的方式,但我在尋找尋求更好的解決方案。
由於
好吧所以答案是:評估無法訪問主capserJS對象。我會嘗試找到另一種方法讓DOM上下文與Casper交談,使用return結構或console.log回調。 – jseguillon