由于绑定,casper不会加载动态帧

时间:2014-06-08 00:05:42

标签: iframe casperjs

我有一个带框架的页面。框架是从同一个(当前:localhost)服务器加载的。但是,在加载帧之后,页面会假设将内容加载到该帧中(在每个浏览器中都会发生),但它不会发生在casper中。

我将以简单的步骤列出它:

  1. 页面加载
  2. 框架加载
  3. 将内容加载到框架中
  4. 最后一步,第3步是缺失的。等待5秒没有帮助,每个屏幕截图都在框架所在的位置空出来。

    我使用了withFrame方法,但我确实得到了这个框架,但它不会填充(获取加载的代码,而不是每个浏览器中显示的完整代码)。

    使用错误检查后,似乎casper无法识别bind()方法。 我试图像这样注入一个绑定原型:

        if (!Function.prototype.bind)
        {
            console.log('bind injecttor 1');
            Function.prototype.bind = function (oThis)
            {
            console.log('bind injecttor 2');
            if (typeof this !== "function")
            {
                console.log('bind injecttor error');
                // closest thing possible to the ECMAScript 5 internal IsCallable function
                throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
            }
    
            var aArgs = Array.prototype.slice.call(arguments, 1),
                fToBind = this,
                fNOP = function ()
                {
                },
                fBound = function ()
                {
                return fToBind.apply(this instanceof fNOP && oThis
                        ? this
                        : oThis,
                    aArgs.concat(Array.prototype.slice.call(arguments)));
                };
    
            fNOP.prototype = this.prototype;
            fBound.prototype = new fNOP();
    
            console.log('bind injected.');
            return fBound;
            };
        }
    

    现在,我得到了第一个日志,但没有其他日志。任何想法?

0 个答案:

没有答案