我的计算机 (Slack) 上运行着一个 Electron 应用程序。我想运行一些 JavaScript 来读取这个应用程序的 HTML DOM。这可能吗?如果是这样,某处是否有“入门”?
在我看来,由于 Electron 使用 Node.js 来托管 HTML/JavaScript,我可能可以读取 DOM。同时,我可以看到这是不允许的,因为它可能存在安全风险。我可以接受安全风险,因为它在我的机器上运行。所以,我假设会有一个 UAC 提示。尽管如此,我只是想弄清楚如何在可能的情况下从外部脚本读取 DOM。
谢谢
最佳答案
据我了解,您想检查或操作已安装的 Electron 应用程序的某些 HTML?
这就是我以 Slack 为例想出如何访问(在 Mac OS 上)的方法:
- 转到您的应用程序文件夹 -> Slack -> 右键单击“显示包内容”
- 转到“内容->资源-> app.asar.unpacked”
- 您可以查看 slack 应用程序的某些部分如何工作。
我也尝试过使用 GChat 应用程序,它们有一个 app
文件夹。从技术上讲,您可以将脚本或其他内容添加到 index.html/index.jade (slack) 中并劫持到 main.js 或 index.js 脚本中。
例如,我能够在 Google Chat 的聊天应用程序中搜索 BrowserWindow
对象并轻松添加 .webContents.openDevTools();
。
然而,任何解决方案都涉及手动工作。
比如我在GChat的main.js
中美化了代码,我搜索了Electron的方法buildFromTemplate
,找到了View的具体函数
菜单已创建。我只是添加了以下内容
{
role: "toggledevtools",
label: "Toogle Dev Tools"
}
最后我能够轻松地切换开发工具(如屏幕截图所示)
关于javascript - 如何从脚本中检查 Electron 应用程序的 DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55765540/