क्या google-chrome में वर्तमान टैब से url प्राप्त करने का कोई तरीका है?


13

मैं एक python कमांड का उपयोग करके फ़ायरफ़ॉक्स पर करता था, लेकिन हाल ही में कुछ बदल गया है और मुझे अब URL नहीं मिल सकता है!

  • फ़ायरफ़ॉक्स के साथ क्या काम करते थे:

    #!/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
    

क्या कोई मुझे बता सकता है कि फ़ायरफ़ॉक्स और / या क्रोम में ऐसा कैसे करें?

नोट : मुझे अजगर समझ में नहीं आता है, मैंने अभी उन कमांडों को कहीं और पाया और उन्हें बैश में इस्तेमाल किया!


सेलेनियम जैसा कुछ इसके लिए अधिक उपयुक्त होगा
क्राइस्टी

जवाबों:


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 है। मैं तब URL के साथ काम करने के लिए xclip का उपयोग करता हूं।

अगर कोई एक मिल जाए तो मुझे इसका वास्तविक समाधान देखना अच्छा लगेगा।


3

क्या आप उस त्रुटि को बता सकते हैं, जो आपको निष्पादन के बाद मिलती है, क्योंकि स्क्रिप्ट मेरे लिए काम कर रही है। यहाँ भी वही प्रश्न है, जिसका उपयोग करके उत्तर दिया गया है phpऔर perl:

टर्मिनल में खुले फ़ायरफ़ॉक्स टैब का आउटपुट URL

अजगर में मुख्य भाग के बाद से, यहाँ एक शुद्ध रूप से अजगर स्क्रिप्ट है, वही काम करने के लिए, इसे इस प्रकार आज़माएँ:

    #!/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। मेरे मामले में (मोज़िला फ़ायरफ़ॉक्स 44.0, ओपनएसयूएसई 13.1) फ़ाइल है ~/.mozilla/firefox/*.default/sessionstore-backups/recovery.js। और आखिरी लेकिन कम से कम नहीं, स्क्रिप्ट काम नहीं करता है अगर आपके पास Firefoxचलाने के दो उदाहरण हैं ।


Chrome के लिए समतुल्य फ़ाइल क्या है?
गौरव पाराशर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.