向 Electron 应用程序发送控制台 JS 命令
sending console JS commands to an Electron app
我正在寻求自动化现有的 Electron 应用程序。它提供了对开发人员工具的访问权限,因此我可以将 Javascript 代码粘贴到控制台中,但必须有一种方法可以远程执行此操作,最好是使用 Node 或从终端?
我已经看到 运行 Chrome 的这个选项:--remote-debugging-port=9222 ...这暗示了一个解决方案,但我似乎无法接近。
如果您使用 --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。
我正在寻求自动化现有的 Electron 应用程序。它提供了对开发人员工具的访问权限,因此我可以将 Javascript 代码粘贴到控制台中,但必须有一种方法可以远程执行此操作,最好是使用 Node 或从终端?
我已经看到 运行 Chrome 的这个选项:--remote-debugging-port=9222 ...这暗示了一个解决方案,但我似乎无法接近。
如果您使用 --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。