将控制台JS命令发送到Electron应用程序

时间:2017-07-05 08:26:01

标签: javascript google-chrome electron google-developer-tools

我希望自动化现有的Electron应用程序。它可以访问开发人员工具,所以我可以将Javascript代码粘贴到控制台中,但必须有一种方法可以远程执行此操作,理想情况下使用Node或终端?

我已经看到了运行Chrome的这个选项: - remote-debugging-port = 9222 ...这暗示了一个解决方案,但我似乎无法靠近。

1 个答案:

答案 0 :(得分:0)

如果您使用--remote-debugging-port=9222启动Electron应用程序,则可以通过Chrome DevTools协议启用远程调试。您可以将Chrome开发者工具实例用作客户端,也可以使用其中一个客户端:https://github.com/ChromeDevTools/awesome-chrome-devtools#chrome-devtools-protocol

可调试的Chrome实例将在localhost:9222上运行。这意味着只要您尝试从同一台机器进行调试就可以了。但是,如果要从远程计算机进行调试,则需要进行一些额外的设置。

在源计算机上设置SSH隧道:

ssh -L 0.0.0.0:9223:localhost:9222 localhost -N

这将接受9223端口上的传入流量,并将其路由到Chrome远程调试。

然后在您的客户端计算机上使用地址:source-machine-ip:9223来访问远程调试。

注意:如果没有其他SSH设置,这可能无法在Windows上运行,因为SSH未预先打包Windows。