簡體   English   中英

Linux 上的 Chrome - 查詢瀏覽器以查看打開了哪些選項卡?

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

我在 Ubuntu Linux 上運行 Chromium(開源 Chrome 版本)。 我可以編寫一個程序來查看我打開了哪些選項卡嗎? 我想編寫一個程序來監控我花在事情上的時間。 是否有命令行程序,某種調用chromium-browser 命令的方法,或者一些dbus 咒語,可以告訴我我打開了哪些選項卡以及每個選項卡所在的URL?

Linux 上的 Chrome - 查詢瀏覽器以查看打開了哪些選項卡?

對於chromium

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

事實上,有一個命令行選項可以打開運行鉻(鉻)進程的--remote-shell-port 通過這個“調試后門”,您可以獲取打開的選項卡列表。

更新:

Chrome DevTools已棄用且不再受支持,因為版本 >17.0.950。* 如果新的 Debug-Framework 提供類似的方式來完成任務,請參閱WebKit-Protocol手冊。

這是一個更通用的解決方案(也適用於其他應用程序),通過使用xdotool查詢焦點下的 X 窗口

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: ~*

為此,我編寫了一個工具來從 chrome 會話文件中提取數據。 https://github.com/lemnos/chrome-session-dump 像這樣運行 chrome-session-dump 將生成一個選項卡列表(按順序),隨后可以將其傳遞給 Firefox。 EG chrome-session-dump|xargs firefox。 您還可以通過 -active 獲取當前打開的選項卡以供外部腳本處理。

上面 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 個。這實際上現在看起來像是少算了,但實際上更接近了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM