是否可以捕获浏览器控制台上打印的内容?

时间:2011-06-30 11:23:31

标签: ruby testing selenium rspec

我运行Ruby / RSpec + Selenium。在测试期间,JavaScript代码会将一些信息打印到浏览器控制台。我有兴趣从我的代码中获取该输出(在Ruby中)。是否有可能(即使有一些限制)?

当然,如果可能的话,首选的是与浏览器无关的方式。

谢谢!

1 个答案:

答案 0 :(得分:5)

使用以下内容创建一个脚本文件,并在登录到控制台的任何其他JS之前将其包含在每个页面的顶部:

(function(old)
{
   console.log = function(str){  
                    //save the str in a hidden field on page
                    old.call(console,str);          
                 }

})(console.log);

隐藏字段将包含可以发回服务器的所有日志数据。 对于其他控制台方法也可以这样做,例如错误等