javascript - 如果 console.log 禁用,则登录 casper.js

标签 javascript firefox webkit phantomjs casperjs

以下使用 casper.js 的代码不会输出 This is thenEvaluate 字符串,因为 Twitter.com 禁用了 console.log (空函数):

var casper = require('casper').create({
    verbose: false,
    logLevel: 'debug'
});

casper.start("http://twitter.com");

casper.on('remote.message', function(msg) {
    this.echo('remote message caught: ' + msg);
})

casper.thenEvaluate(function() {
    console.log('This is thenEvaluate');
});

casper.run();

如果我将网址交换为google.com或任何其他网站,它就可以工作。我的问题是:

  1. 对于禁用的网站console.log,有办法重新启用它吗?

  2. 如果#1为“否”,有没有办法在evaluate()thenEvaluate()函数中执行任何类型的日志?

谢谢。

最佳答案

我在这里找到了关于Restoring console.log()的答案

var i = document.createElement('iframe');
i.style.display = 'none';
document.body.appendChild(i);
window.console = i.contentWindow.console;

关于javascript - 如果 console.log 禁用,则登录 casper.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546970/

相关文章:

javascript - 令人难以置信的 Facebook 评论缩水

javascript - 为什么 Array().splice 不适用于在索引处插入值?

python - 无法在 Selenium 中找到元素

html - 为什么此CSS动画无法在IOS上运行?

CSS居中给出不同的结果

javascript - 如何最小化数学调用? (JavaScript)

javascript - 如何在我的 javascript 球移动时为它提供滚动动画?

javascript - Firefox 中的 SVG 对象未触发滚动事件

javascript - 测试 navigator.getUserMedia 是否需要 https,无需浏览器用户代理嗅探

ios - 使用 WKScriptMessageHandler 时内存泄漏