Linux上的Chrome - 查询浏览器以查看哪些标签页打开?

时间:2011-02-11 11:05:03

标签: linux google-chrome chromium desktop-integration

我在Ubuntu Linux上运行Chromium(开源chrome版本)。我可以编写一个程序来查看我打开的标签吗?我想写一个程序来监控我花多少时间在事情上。是否有一个命令行程序,一些调用chrome-browser命令的方法,或者一些dbus incantation,它会告诉我我打开了哪些标签以及每个标签位于哪个URL?

5 个答案:

答案 0 :(得分:5)

确实有一个命令行选项可以打开运行铬(铬)过程--remote-shell-port的大门。通过这个“调试后门”,您可以获得打开的选项卡列表。

更新:

自版本> 17.0.950起,

Chrome DevTools已弃用且不再受支持。* 如果新的Debug-Framework提供了类似的方式来完成任务,请参阅WebKit-Protocol手册。

答案 1 :(得分:3)

Chrome on Linux - query the browser to see what tabs are open?

chromium

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

仅需要在我的Linux Mint笔记本电脑上执行此操作:我找到的解决方案,它碰巧是一个更通用的解决方案,因为它适用于大多数应用程序,因为它使用在焦点所在的窗口中查询其名称xdotool

while true; do xdotool getwindowfocus getwindowname; sleep 10; done
Tilix: Defaultpeter-ThinkPad-T5801: peter@peter-ThinkPad-T580: ~
Chrome on Linux - query the browser to see what tabs are open? - Stack Overflow - Google Chrome
Local KVM
untitled — Atom
untitled — Atom
Open File
iostat_xtmz_3.out — ~/Work/KappAhl/Test1 — Atom
Tilix: Defaultpeter-ThinkPad-T5801: peter@peter-ThinkPad-T580: ~*

欢呼

答案 4 :(得分:0)

上述 unix 命令的扩展(我没有足够的声誉来评论)。我试图只计算标签的数量。这仍然不完美,因为我认为该文件包含所有选项卡的完整历史记录。我猜它们是有序的,但不清楚如何将它们分开。

strings ~/Library/Application\ Support/Google/Chrome/Default/Sessions/Tabs_* | sed -nE 's/^([^:]+):\/\/(.*)\/$/\2/p' | grep -v "newtab" | grep -v "new-tab-page" | sort | uniq | wc -l

这是在 mac 上,因此您的路径和 sed 选项可能会有所不同。

基本思想是去掉尾部斜杠(很多重定向只是添加一个斜杠)和 newtabs,这样我们就可以获得准确的计数。对于我当前的选项卡文件,从 181 个打开的选项卡减少到 35 个。这实际上现在看起来好像少了一些,但实际上更接近了。