Chrome на Linux - запросить браузер, чтобы увидеть, какие вкладки открыты?
Я использую Chromium (версия Chrome с открытым исходным кодом) в Ubuntu Linux. Могу ли я написать программу, чтобы увидеть, какие вкладки у меня открыты? Я хотел бы написать программу, чтобы отслеживать, сколько времени я трачу на вещи. Существует ли программа командной строки, какой-либо способ вызова команды chromium-browser или какое-либо заклинание dbus, которое сообщит мне, какие вкладки у меня открыты и по какому URL-адресу каждой вкладки?
5 ответов
Действительно, есть опция командной строки, которая может открыть дверь для запущенного процесса Chrome (хром) --remote-shell-port
, Через эту "отладочную заднюю дверь" вы можете получить список открытых вкладок.
- Посмотрите на Chromedevtools для дальнейшего вдохновения.
ОБНОВИТЬ:
Chrome DevTools устарел и больше не поддерживается, начиная с Версии>17.0.950.* См. Руководство по WebKit-протоколу, если новая Debug-Framework предоставляет аналогичные методы для выполнения задачи.
Chrome на Linux - запросить браузер, чтобы увидеть, какие вкладки открыты?
За chromium
:
strings ~/'.config/chromium/Default/Current Session' | 'grep' -E '^https?://'
Вот более общее решение (работает и с другими приложениями) путем запроса окна X в фокусе с помощью 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? - stackru - 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. Например, 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 могут отличаться.
Основная идея состоит в том, чтобы избавиться от конечных косых черт (многие перенаправления просто добавляют косую черту) и новых вкладок, чтобы мы могли получить точный подсчет. Для моего текущего файла вкладок это увеличилось с 181 открытой вкладки до 35. На самом деле сейчас это выглядит как недоучет, но это намного ближе.