Ich habe das auf Firefox mit einem Python-Befehl gemacht, aber kürzlich hat sich etwas geändert und ich kann die URL nicht mehr bekommen!
Was früher mit Firefox gearbeitet hat:
#!/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
Kann mir jemand sagen, wie man das in Firefox und / oder Chrom macht?
HINWEIS : Ich verstehe Python nicht. Ich habe diese Befehle nur irgendwo gefunden und sie in bash verwendet!
Antworten:
Ich hatte das gleiche Problem und bin dort durchgekommen, als ich versucht habe, es zu lösen. Deshalb werde ich meine Lösung (die ziemlich schlecht ist) hier posten.
Ich benutze wmctrl (Sie könnten stattdessen xprop verwenden) und xdotool, um dies zu tun. Bisher habe ich eine Erweiterung verwendet, um die URL in der Titelleiste sichtbar zu machen (Sie können dann über xprop oder wmctrl auf die URL zugreifen). Beide Methoden funktionieren ziemlich gut, obwohl sie nicht wirklich "sauber" sind.
Sie haben jetzt die URL in Ihrer Zwischenablage. Ich benutze dann xclip, um mit der URL zu arbeiten.
Ich würde gerne eine echte Lösung dafür finden, wenn jemand eine findet.
quelle
Könnten Sie den Fehler mitteilen, den Sie nach der Ausführung erhalten, weil das Skript für mich funktioniert. Es gibt hier die gleiche Frage, die mit
php
und beantwortet wurdeperl
:Ausgabe-URL der geöffneten Firefox-Registerkarten im Terminal
Da der Hauptteil von Python hier ein reines Python-Skript ist, probieren Sie es auch aus, um dasselbe zu tun:
Ich habe die
/home/username/.mozilla/firefox/xxxxx.default/sessionstore.js
Datei durch ersetztrecovery.js
. In meinem Fall (Mozilla Firefox 44.0, openSUSE 13.1) ist die Datei~/.mozilla/firefox/*.default/sessionstore-backups/recovery.js
. Und last but not least funktioniert das Skript nicht, wenn zwei InstanzenFirefox
ausgeführt werden.quelle