通过远程调试协议将 javascript 代码发送到 chrome 应用程序

Posted

技术标签:

【中文标题】通过远程调试协议将 javascript 代码发送到 chrome 应用程序【英文标题】:Sending javascript code to a chrome app via the remote debug protocol 【发布时间】:2015-07-05 17:44:19 【问题描述】:

在单元测试的上下文中,我需要将一些代码发送到我正在开发的 chrome 应用程序的控制台。 clear 可以通过 chrome.debug API 执行此操作,但有没有办法从浏览器外部执行此操作?

【问题讨论】:

【参考方案1】:

是的,有办法;如果您可以使用chrome.debug 执行某些操作,您可以使用远程调试来执行此操作。

你需要用命令行开关enable remote debugging;然后,您可以使用调试器客户端实例连接到 Chrome。

Google 列出了一些existing debugger clients,您可以按照debugger protocol(通过 HTTP+WebSockets 工作)来实现自己的。

调试器客户端的过程是通过 HTTP 从调试器端口请求/json,其中列出了所有可能的调试目标;然后客户端连接到与该目标关联的 WebSocket 以使用它。

【讨论】:

你能说得更具体一点吗?我稍微研究了一下协议,但找不到将调试对象设置为扩展的方法,甚至根本找不到对调试对象的引用。稍微研究一下代码,当调试对象是另一个扩展时,事件是在内部而不是通过协议调度的,但我可能错了。 阅读第一个链接;您需要访问/json URL 以获取调试对象列表,然后连接到相应的 WebSocket 端口。至少我是这么读的;我自己没试过。 很高兴它有帮助。更新了答案。 WebSocket连接后怎么办?

以上是关于通过远程调试协议将 javascript 代码发送到 chrome 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

可以从 Windows 机器在 iPad 上远程调试 javascript 吗?

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

使用 Chrome DevTools 协议 Input.dispatchKeyEvent 或 Input.dispatchMouseEvent 发送事件

Opera Dragonfly 远程调试:如何通过 javascript 连接?

IDEA远程调试

IDEA远程调试