我有一个带框架的页面。框架是从同一个(当前:localhost)服务器加载的。但是,在加载帧之后,页面会假设将内容加载到该帧中(在每个浏览器中都会发生),但它不会发生在casper中。
我将以简单的步骤列出它:
最后一步,第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;
};
}
现在,我得到了第一个日志,但没有其他日志。任何想法?