Robiłem to w Firefoxie za pomocą polecenia Python, ale ostatnio coś się zmieniło i nie mogę już uzyskać adresu URL!
Co kiedyś działało z firefox:
#!/bin/bash current_tab_num () { python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nprint str(jdata["windows"][0]["selected"])' } current_tab_url () { sed -n "$(current_tab_num)p" <(python2 <<< $'import json\nf = open("/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nfor win in jdata.get("windows"):\n\tfor tab in win.get("tabs"):\n\t\ti = tab.get("index") - 1\n\t\tprint tab.get("entries")[i].get("url")') } current_tab_url
Czy ktoś może mi powiedzieć, jak to zrobić w Firefoksie i / lub Chrome?
UWAGA : Nie rozumiem Pythona, właśnie gdzieś znalazłem te polecenia i użyłem ich w bash!
Odpowiedzi:
Miałem ten sam problem i próbowałem go rozwiązać, więc opublikuję tutaj moje rozwiązanie (które jest dość złe).
Używam do tego wmctrl (możesz zamiast tego użyć xprop) i xdotool. Wcześniej korzystałem z rozszerzenia, aby adres URL był widoczny na pasku tytułu (możesz uzyskać dostęp do adresu URL za pośrednictwem xprop lub wmctrl). Obie metody działają całkiem dobrze, choć nie są tak naprawdę „czyste”.
Masz teraz adres URL w schowku. Następnie używam xclip do pracy z adresem URL.
Chciałbym zobaczyć prawdziwe rozwiązanie tego problemu, jeśli ktoś je znajdzie.
źródło
Czy możesz powiedzieć błąd, który pojawia się po wykonaniu, ponieważ skrypt działa dla mnie. Tutaj jest to samo pytanie, na które udzielono odpowiedzi za pomocą
php
iperl
:Wyjściowy adres URL otwartych kart Firefoxa w terminalu
Ponieważ główna część Pythona, tutaj jest skrypt czysto pythonowy, aby zrobić to samo, spróbuj również:
/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js
Plik zastąpiłemrecovery.js
. W moim przypadku (Mozilla Firefox 44.0, openSUSE 13.1) plik to~/.mozilla/firefox/*.default/sessionstore-backups/recovery.js
. I na koniec, skrypt nie działa, jeśli masz dwa wystąpieniaFirefox
działania.źródło