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

Bre*_*eak 2 ruby testing selenium rspec

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

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

谢谢!

Ank*_*kur 5

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

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

})(console.log);
Run Code Online (Sandbox Code Playgroud)

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