有没有办法通过远程调试协议或通过命令行启动它从 Edge 浏览器获取任何控制台消息?

Posted

技术标签:

【中文标题】有没有办法通过远程调试协议或通过命令行启动它从 Edge 浏览器获取任何控制台消息?【英文标题】:Is there a way to get any console messages from Edge browser either through a remote debugging protocol or by starting it via the command line? 【发布时间】:2017-05-14 06:50:15 【问题描述】:

在为网站加载 Chrome 时,我正在使用 Chrome 的远程调试协议来获取控制台消息。

但我想知道是否有办法编写 Edge 脚本来做同样的事情?

我知道我可以查看控制台本身,或者在页面中添加一些脚本来执行此操作,但我正在尝试从外部角度进行操作。

例如使用脚本自动加载 Edge 浏览器,导航到页面,并让它将找到的任何控制台消息记录到某个文件中。

【问题讨论】:

blogs.windows.com/msedgedev/2016/04/27/…? 谢谢@MikeMcCaughan,我也看过这个,但它似乎还没有提供控制台区域:github.com/Microsoft/edge-diagnostics-adapter/wiki/… 【参考方案1】:

您可以编写一个函数并将所有控制台消息发送到该函数,该函数将 console.log 输出并通过 AJAX 将其发送到您的服务器以附加到文件中。使用 nodejs 微服务可以快速简单地执行此操作。在开发时,我已经为一个快速而肮脏的日志系统做了这个。我尝试使用 数据时间戳、用户等 以及输出内容进行记录。 我假设您不想要这个长期(生产中的控制台日志是一个坏主意)。

【讨论】:

嘿@splitwire,谢谢,但正如问题中提到的,我正在寻找更多从浏览器/Edge 本身外部执行此操作的外部方法,有点像 Chrome 中的远程调试协议,不需要将任何脚本添加到页面本身。 (这样做的主要原因是我想在我无权更改的页面上运行它)。 stilliard - 我完全跳过了这个要求;对不起。我想知道您是否可以扩展 console.log(我知道,这不是推荐的东西,但这似乎是一个独特的要求),并在页面加载时自动注入您的解决方案。我不确定是否有更好的前进方式。祝你好运。 不用担心,无论如何感谢您的建议。我可能会考虑代理响应并在那个阶段注入一个覆盖,你是对的。但是我从 Chrome 远程调试协议中得到的非常棒的事情之一是任何关于页面的浏览器警告,这对于从 Edge 获取也很有用,不仅仅是 js 错误和来自页面的日志,还有诸如被阻止的脚本之类的东西正在运行和无效的 html 等。

以上是关于有没有办法通过远程调试协议或通过命令行启动它从 Edge 浏览器获取任何控制台消息?的主要内容,如果未能解决你的问题,请参考以下文章

如何调试通过命令行 (cli) 启动的节点应用程序,例如永远或主管?

windows服务启动失败 无法从命令行或调试器

使用 debugpy 进行远程调试可以通过代码进行,但不能通过命令行进行

java jdb命令详解

C++ 从命令行附加 Visual Studio 调试器

【原创】安卓开启WIFI调试