通过命令行获取 Google Chrome 中当前打开的标签页

通过命令行获取 Google Chrome 中当前打开的标签页

我想编写一个 shell 脚本,自动将所有选项卡从 Chrome 传输到 Firefox(通过从 Chrome 获取选项卡列表,然后使用脚本在 Firefox 中打开它们。)在 Google Chrome 中,是否可以通过命令行获取打开的选项卡列表?

答案1

这个问题没有得到回答,上面的解决方案是针对 Chrome Dev Tools 的,其中 OP 在 CLI 中询问,所以这是我找到的解决方案:

strings ~/.config/google-chrome/Default/Current\ Session | grep -E '^https?://'

答案2

对于仅适用于 macOS 的解决方案,您还可以使用开源实用程序chrome-cli。你可以用 Homebrew 安装:

brew install chrome-cli

另外,请注意 README 中的一件事:

要执行 javascript,您必须首先在 下允许它View > Developer > Allow JavaScript from Apple Events

它看起来是这样的:

$ chrome-cli list tabs
[1889] Edit - Super User
[1918] prasmussen/chrome-cli: Control Google Chrome from the command line
[1905] Yotto Winter Mix 19 by Yotto
$ chrome-cli list links
[1889] https://superuser.com/posts/1407956/edit
[1918] https://github.com/prasmussen/chrome-cli
[1905] https://soundcloud.com/yotto/yotto-winter-mix-2019

答案3

我终于找到了一个重复的问题(虽然花了很多时间才找到它):https://stackoverflow.com/questions/4968271/chrome-on-linux-query-the-browser-to-see-what-tabs-are-open

答案4

为了这个目的,我编写了一个工具来从 chrome 会话文件中提取数据。https://github.com/lemnos/chrome-session-dump。这样运行它将chrome-session-dump生成一个选项卡列表(按顺序),随后可以将其传递给 Firefox。例如chrome-session-dump|xargs firefox。您还可以通过获取当前打开的选项卡-active以供外部脚本处理。

相关内容