【问题标题】:Get URL of currently active chromium or chrome tab from external process从外部进程获取当前活动的铬或铬标签的 URL
【发布时间】:2018-02-05 02:43:03
【问题描述】:

如何以编程方式从 linux 中的外部进程获取当前 chromium 选项卡 URL?

和这个类似的问题很多,但是我没有找到符合以下要求的问题

  • 解决方案应该在 chrome 进程之外工作,即不在 javascript 或 chrome 扩展中。
  • 解决方案不应基于 autohotkey、xdotool、wmctrl 或用于模拟键盘或鼠标输入的类似工具
  • 没有特定于 OSX 或 Windows 的解决方案

在 Firefox 中,有 mozrepl,它通过 TCP 端口上的交互式 repl 公开浏览器内部。我正在寻找 chromium 或 chrome 中类似的东西,即使这意味着安装 chrome 扩展。

【问题讨论】:

  • 可以用调试端口启动chrome吗?
  • 是的。尽管了解此类解决方案的安全隐患也会有所帮助。
  • 没有太大的安全隐患,但问题似乎能够识别哪个是当前选项卡。看到这个stackoverflow.com/questions/51039569/…
  • 这并不容易。有一种方法可以在不修改 Chromium 源代码的情况下做到这一点,因此它也可以在 Chrome 中运行。您应该创建一个扩展程序,它将通知您的另一个本机消息传递主机扩展程序有关当前选项卡的 URL。然后,本机消息传递主机扩展将该数据写入管道或您喜欢的任何 IPC 方法,以便您可以使用外部进程读取该数据

标签: google-chrome chromium mozrepl


【解决方案1】:

我在https://github.com/erjoalgo/chrome-current-url 中实现了@Asesh 建议,它是一个 chrome 扩展,通过本地 http 服务器公开当前活动选项卡的 URL。

pip install chromeurl
sudo chromeurl --install-manifest native

然后从webstore安装扩展

最后查询当前的chrome url:

$ curl http://localhost:19615/tabs/current/url
https://developer.chrome.com/extensions/activeTab

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多