URL вывода открытых вкладок firefox в терминале

Мне удалось обойти это в Ubuntu 12.04, передав следующие параметры qemu-kvm в командной строке (установка romfile в пустую - это трюк):

-netdev user,id=hostnet0 -device virtio-net-pci,romfile=,netdev=hostnet0
1
задан 28 August 2013 в 17:37

3 ответа

Эта информация хранится в $ HOME / .mozilla / firefox / * default / sessionstore.js, а ее формат - json.

Следующий пример был выполнен для работы с PHP. Он просматривает все окна Firefox, все вкладки и получает соответствующую информацию, которая является последней записью внутри «записей». Если бы мы могли использовать xpath для его анализа, это было бы похоже на: / windows / * / tabs / last () / url (мое знание xpath - это ржавый).

Вы можете скопировать / вставить этот код в терминал:

cat $HOME/.mozilla/firefox/*default/sessionstore.js | php -r '
$json=json_decode(fgets(STDIN), TRUE);
foreach($json["windows"] as $w)
foreach($w["tabs"] as $t)
echo end($t["entries"])["url"]."\n";'

EDIT: с perl (но сначала sudo apt-get install libjson-pp-perl):

cat $HOME/.mozilla/firefox/*default/sessionstore.js | perl -e '
use JSON qw( decode_json );
my $json = decode_json(<STDIN>);
foreach my $w ( @{$json->{"windows"}} ) {
    foreach my $t ( @{$w->{"tabs"}} ) {
        print $t->{"entries"}[-1]->{"url"}."\n";
    }
}'
5
ответ дан 24 May 2018 в 18:37
  • 1
    В этом ответе используется файл sessionstore.js Firefox. Проблема в том, что этот файл заведомо теряет вкладки. То, что я хочу здесь, - это параллельное решение, задающее Firefox, каковы его вкладки. Как в AppleScript. – Nicolas Barbulesco 5 October 2013 в 14:11
  • 2
    Что вы подразумеваете под «потерями вкладок» ?? В настоящее время я запускаю Firefox с 5 вкладками, и я вижу эти 5 вкладок при запуске этих скриптов. Это решение просматривает все окна и все вкладки каждого окна. – Hugo Vieira 7 October 2013 в 18:37
  • 3
    Я имею в виду это . – Nicolas Barbulesco 8 October 2013 в 17:39
  • 4
    Вопрос, заданный aldorado: (...), узнает URL-адреса текущих открываемых вкладок firefox (...). Вы говорите о вкладках, которые были сохранены после закрытия Firefox. Кроме того, эта ошибка не кажется печально известной ... – Hugo Vieira 8 October 2013 в 18:08
  • 5
    Я тестировал оба метода для файла recovery.js с 9 окнами и 840 вкладками, и они работали как шарм! - сразу после piping вывод в текстовый файл мне пришлось установить карту символа на ISO-8859-15 для файла perl-метода ...! – DJCrashdummy 18 November 2015 в 01:43

Так вы можете извлечь текущий URL-адрес вкладки front-most / active в Firefox:

cat recovery.js | php -r '$json=json_decode(fgets(STDIN), TRUE); $tindex = $json["windows"][0]["selected"]-1; $eindex = $json["windows"][0]["tabs"][$tindex]["index"]-1; echo $json["windows"][0]["tabs"][$tindex]["entries"][$eindex]["url"];'

Объяснение: Во-первых, он находит индекс активной вкладки $tindex, а затем индекс активной записи истории на этой вкладке $eindex.

Каждые 15 секунд Firefox создает резервную копию в *default/sessionstore-backups/recovery.js.

0
ответ дан 24 May 2018 в 18:37
  • 1
    php5-cli необходимо установить для этого, чтобы вы могли добавить это к своему ответу для улучшения. Есть ли способ захватить все URL-адреса вкладок не только спереди? как говорит ОП. – damien 22 March 2015 в 13:05
  • 2
    Я знаю о несоответствии вопроса и моего ответа, однако Google направит вас сюда, если вы запросите информацию в своем ответе. – Lenar Hoyt 22 March 2015 в 14:43

Используя bash, я нашел следующий ответ. Для этого требуется только пакет: jq. Он может быть установлен с помощью: apt-get install jq

jq '.windows[].tabs[].entries[].url' ~/.mozilla/firefox/xkxwaf4z.default/sessionstore-backups/recovery.js

0
ответ дан 24 May 2018 в 18:37

Другие вопросы по тегам:

Похожие вопросы: