如何在casperjs中评估后捕获屏幕?

时间:2017-04-26 00:09:54

标签: javascript phantomjs casperjs

这是我的代码:

var casper = require('casper').create({
    clientScripts: ["jquery.js"]
});
var URL = casper.cli.get(0);
casper.start(URL, function (){
 casper.evaluate(function() {
     $(".tm-price").html("123");

});

});
casper.then(function(){
this.capture('nn.png');
});

casper.run();

我想将“.tm-price”的html更改为“123”,然后捕获屏幕。
运行之后,它只会在我更改之前捕获屏幕,但不会在我改变之后。
我的代码出了什么问题。你能帮助我吗?谢谢你。

1 个答案:

答案 0 :(得分:1)

试着找出价格是否已经存在,或者你必须等待它被填满。

这个真实世界的例子对我没有任何问题:

var casper = require('casper').create({
    clientScripts: ["js/jquery.min.js"],
    viewportSize: {
        width: 1024,
        height: 768
    }
});

casper.start('http://stackoverflow.com', function() {
    casper.evaluate(function() {
        jQuery('#h-top-questions').html('Not Top Questions!');
    });
});

casper.then(function() {
    this.capture('capture.png', {
        top: 0,
        left: 0,
        width: 1024,
        height: 1000
    });
});

casper.run();