如何覆盖 javascript 中的函数? casperjs 然后函数

How to override function in javascript ? casperjs then function

我想检查 "login page" 是否出现在每个步骤之前:

这是我的代码:

casper.then(function() {
    checkIfRedirectedToLoginPage();
    this.evaluate(function() {
        document.getElementById("").click();
    });

});

casper.then(function() {
    checkIfRedirectedToLoginPage();
    this.evaluate(function() {
    });

});

function checkIfRedirectedToLoginPage(){
    if loginPage{
        this.then(function(){
             this.sendKeys(x('//*[@id="user_name"]'), USER_NAME);
             this.sendKeys(x('//*[@id="password"]'),PASSWORD);
             this.click(x(//*[@id="login"]));
        });
    }

}

如何在不使用 checkIfRedirectedToLoginPage 函数乱写我的代码的情况下覆盖 casper.then。谢谢

虽然不推荐,但可以这样做。相反,我建议的是创建一个调用 casper.then 并接受函数作为回调的辅助方法。

function myCasperThen(callback) {
    return casper.then(function() {
        checkIfRedirectedToLoginPage();
        callback();
    }
}