Chrome в Linux — запросите браузер, чтобы узнать, какие вкладки открыты?

Я использую Chromium (версия Chrome с открытым исходным кодом) на Ubuntu Linux. Могу ли я написать программу, чтобы увидеть, какие вкладки у меня открыты? Я хотел бы написать программу для контроля того, сколько времени я трачу на вещи. Есть ли программа командной строки, какой-то способ вызвать команду chromium-browser или какое-то заклинание dbus, которое скажет мне, какие вкладки у меня открыты и по какому URL-адресу находится каждая вкладка?


person Rory    schedule 11.02.2011    source источник


Ответы (5)


Действительно, есть параметр командной строки, который может открыть дверь для запущенного процесса хрома (хрома) --remote-shell-port. Через этот «черный ход» вы можете получить список открытых вкладок.

  • Посмотрите chromedevtools, чтобы получить дополнительные сведения.

ОБНОВИТЬ:

Chrome DevTools устарел и больше не поддерживается, начиная с версии >17.0.950. * См. руководство WebKit-Protocol, если новый Debug-Framework предоставляет аналогичные способы для выполнения задание.

person Maus    schedule 16.03.2011
comment
Можно ли получить доступ к списку открытых вкладок из расширения Google Chrome? - person Anderson Green; 24.08.2012
comment
Этот вопрос объясняет, как найти список открытых вкладок из расширения Chrome: stackoverflow.com/questions/11915370/ - person Anderson Green; 24.08.2012
comment
Этот ответ применим ко всем платформам или только к Linux? - person Anderson Green; 03.01.2013

Chrome в Linux — запросите у браузера посмотреть, какие вкладки открыты?

Для chromium :

strings ~/'.config/chromium/Default/Current Session' | 'grep' -E '^https?://'
person MevatlaveKraspek    schedule 05.04.2018
comment
Я знаю, что никто не просил Mac, но я был связан с этим вопросом, когда искал ответ Mac, поэтому я просто добавлю информацию здесь. strings ~/'Library/Application Support/Google/Chrome/Default/Current Session' | 'grep' -E '^https?://' - person AlexMorley-Finch; 28.08.2018
comment
Выдает ошибку типа No such file or directory. Вы можете помочь, пожалуйста? - person Rahul Raval; 18.12.2018
comment
вроде работает. возвращает URL-адреса, которые в настоящее время также не открыты, но я полагаю, что этого следует ожидать, основываясь на том, что делает strings - person stantonk; 30.01.2019
comment
Есть ли способ получить, на какой вкладке я фокусируюсь? - person roachsinai; 24.02.2019
comment
Может быть, последний из https есть, спасибо. И ~/.config/google-chrome/Default/'Current Session' для Chrome. - person roachsinai; 24.02.2019
comment
У кого-нибудь есть решение для Windows? - person Alexander; 16.05.2020

Вот более общее решение (работает и с другими приложениями) путем запроса окна 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? - 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: ~*
person ptrk64    schedule 03.09.2019
comment
Но это заняло у тебя 80 секунд, - person Dan Jacobson 積丹尼; 08.05.2021

Я написал инструмент для извлечения данных из файлов сеанса Chrome именно для этой цели. https://github.com/lemnos/chrome-session-dump. Запустив его таким образом, chrome-session-dump создаст список вкладок (по порядку), которые впоследствии можно будет передать в firefox. Например, chrome-session-dump|xargs firefox. Вы также можете получить текущую открытую вкладку через -active для обработки внешними скриптами.

person Aetnaeus    schedule 26.06.2021

Расширение приведенной выше команды 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. Сейчас это выглядит как занижение, но это намного ближе.

person gbrown    schedule 08.04.2021