google-chromeの現在のタブからURLを取得する方法はありますか?


13

私はpythonコマンドを使用してFirefoxでこれを行っていましたが、最近何かが変更され、URLを取得できなくなりました!

  • 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

誰でもFirefoxやChromeでこれを行う方法を教えてもらえますか?

:私はpythonを理解していません、どこかでそれらのコマンドを見つけてbashで使用しました!


セレンのようなものがこれにより適しています
-cristi

回答:


6

私は同じ問題を抱えていて、解決しようとしてそこを通り抜けたので、ここに自分のソリューション(かなり悪い)を投稿します。

これを行うには、wmctrl(代わりにxpropを使用できます)とxdotoolを使用します。以前は、拡張機能を使用してURLをタイトルバーに表示していました(xpropまたはwmctrlを介してURLにアクセスできます)。どちらの方法も非常にうまく機能しますが、実際には「クリーン」ではありません。

id=$(wmctrl -l | grep -oP "(?<=)(0x\w+)(?=.*Chromium)") //Put here the regex for the browser you use
xdotool key --window $id "ctrl+l"
xdotool key --window $id "ctrl+c"

これで、クリップボードにURLができました。次に、xclipを使用してURLを操作します。

誰かがそれを見つけたら、私はこれに対する本当の解決策を見たいです。


3

スクリプトが私のために機能しているので、実行後に取得するエラーを教えてください。ここにも同じ質問があり、phpand を使用して回答しましたperl

ターミナルで開いているFirefoxタブの出力URL

pythonの主要部分なので、これは純粋にpythonスクリプトです。同じことを行うには、同様に試してください。

    #!/usr/bin/python
    import json
    f = open("recovery.js","r")
    jdata = json.loads(f.read())
    f.close()

    number_of_selected_tab = jdata["windows"][0]["selected"]

    tab_number = 1
    for win in jdata.get("windows"):
        for tab in win.get("tabs"):
            if number_of_selected_tab == tab_number :
                tab_index = tab.get("index") - 1
                print tab.get("entries")[tab_index].get("url")
            tab_number = tab_number + 1

/home/username/.mozilla/firefox/xxxxx.default/sessionstore.jsファイルをに置き換えましたrecovery.js。私の場合(Mozilla Firefox 44.0、openSUSE 13.1)、ファイルは~/.mozilla/firefox/*.default/sessionstore-backups/recovery.jsです。最後になりますが、Firefox実行中のインスタンスが2つある場合、スクリプトは機能しません。


Chromeの同等のファイルは何ですか?
gaurav parashar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.