远程控制图形Firefox实例

远程控制图形Firefox实例

有什么方法可以远程控制常规 Firefox 实例?我并不想进行自动化 Web 测试或任何其他利用无头浏览器的功能。我只是想制作有用的 CLI 和桌面小工具来改善浏览体验,特别是小型 shell 或 Python 脚本(如果没有其他选择,则使用 JavaScript)。但是它们必须在浏览器之外运行并通过独立于平台和语言的 API(因此基本上通过某些套接字)执行其操作。

例如,我想编写一个 Bash 脚本,将打开的选项卡的 URL 打印到标准输出。或者将域 X 上的所有选项卡移到新窗口。扩展程序有许多 API 可以实现此类任务。我想在扩展上下文之外使用这些(或类似的)API。这可以通过使用全能的超级扩展来实现,这些超级扩展将代理外部请求https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging.还有https://github.com/GoogleChrome/puppeteer和 Selenium,尽管主要为无头使用而开发。似乎曾经有 D-Bus API,但在运行 Firefox 69 时我没有看到任何 Firefox 服务公开。

对于 shell 迷来说,有哪些灵活的方法可以编写 Firefox 脚本?

注意:我知道打开上述某些工具所需的 Firefox 调试器端口会带来安全风险。

相关内容