2011-09-24 11 views
10

वहाँ एक रास्ता प्रोग्राम के रूप में एक ब्राउज़र सूचकांक द्वारा में टैब खुले सूची प्राप्त करने के लिए है?खुले ब्राउज़र टैब की सूची प्रोग्राम के रूप में

उदाहरण के लिए, मान लीजिए कि Google क्रोम दो टैब के साथ खुला है।
कार्यक्रम में, एक पंक्ति कुछ की तरह: (

[ 
0 : 'http://stackoverflow.com/', 
1 : 'http://www.coolstuffff.com/' 
] 

:

tabs_list = list_tabs(hwnd) 

... जहां hwnd समग्र क्रोम उदाहरण और tabs_list के लिए खिड़की के हैंडल है की तरह एक शब्दकोश कुछ है ... या शायद यूआरएल के बजाय विंडो के टाइटल) द्वारा

यदि हां, तो उनमें से एक को फोकस में लाने संभव कीबोर्ड कमांड, नियंत्रण (Ctrl-) नियंत्रण -1 की तरह साथ अजगर स्क्रिप्ट से किया जा सकता है या cont ROL-2।


एक संपादित बाद में जोड़ा स्पष्ट मदद करने की कोशिश: चित्र एक स्थानीय wxPython अनुप्रयोग, जहां पहले से ही कैसे स्थानीय स्तर पर चल रहा है अपने wxPython अनुप्रयोग के भीतर से है कि एक ही बॉक्स पर क्रोम की दी गई उदाहरण सक्रिय करने के लिए पता है, और कहा कि ब्राउज़र इंस्टेंस में कई टैब खुलते हैं, और अब आप यह सुनिश्चित करना चाहते हैं कि एक निश्चित टैब पर ध्यान केंद्रित किया जा सके, उस वेब पेज के साथ बातचीत करने में सक्षम होने के लिए (शायद CTRL-A CTRL-C का उपयोग करके उदाहरण के लिए इसकी सामग्री को फसल करने के लिए)। यह प्रश्न कुंजीपटल कमांड जारी करने के बारे में नहीं है, जो पहले से ही ज्ञात है, सवाल यह है कि यदि संभव हो तो खुले टैब की सूची कैसे प्राप्त करें, धन्यवाद।

+0

यह वास्तव में मंच (ओएस) को जानने में मदद करेगा। मैं विंडोज़ से इसका अनुमान लगा रहा हूं लेकिन आपको यह विवरण देने में उचित जानकारी (और टैगिंग उचित) जोड़ना आवश्यक होगा। –

+0

ओएस निर्दिष्ट नहीं किया गया क्योंकि लक्ष्य एक क्रॉस-प्लेटफॉर्म एप्लिकेशन विकसित करना है, हालांकि, अगर हमें इसे विंडोज़ से शुरू करना है, तो इसे सीमित करना होगा। फिर भी, मैक ओएस एक्स और पायथन के साथ ओएलई ऑटोमेशन के लिए टिप के लिए वास्तव में अपने उदाहरण की सराहना करते हैं, धन्यवाद! – gseattle

उत्तर

7

जबकि अपने लक्ष्य ओएस के बारे में सुनिश्चित नहीं हैं, तो आप मैक ओएस एक्स पर ऐसा कर सकते हैं:

>>> from appscript import * 
>>> map(lambda x: x.title(), app('Google Chrome').windows[0].tabs()) 
[u'Stack Overflow', u'Google'] 

Windows पर, आप अजगर के साथ OLE स्वचालन में देखना चाहते हैं।

+0

उत्कृष्ट, धन्यवाद। – gseattle

2

यह संभव नहीं है। सबसे पहले आपने ध्यान नहीं दिया है कि आप किस ऐप को विकसित करते हैं, लेकिन यदि आप वेबसाइट बैकएंड के लिए पायथन का उपयोग करते हैं - तो यह सिर्फ एक सर्वर-साइड भाषा है और यह नहीं जानता कि "ब्राउज़र" क्या है - सर्वर ब्राउज़र पर आउटपुट करता है और यह सब कुछ है। और मुझे विश्वास नहीं है कि क्लाइंट-साइड भाषा जैसे जावास्क्रिप्ट के साथ यह संभव है क्योंकि यह संभव होने पर गंभीर सुरक्षा और गोपनीयता समस्या प्रतीत होता है।

संपादित करें: यदि आप क्रोम प्लगइन विकसित कर रहे हैं तो कहें कि यह एक पूरी कहानी हो सकती है - लेकिन फिर यह क्रोम एपीआई की तरफ जाता है और आपकी टैगिंग गलत है, क्योंकि "पायथन" स्वयं ऐसा नहीं कर सकता है।

+0

सभी क्लाइंट-साइड। – gseattle

+0

मुख्य रूप से पायथन, मूल प्रश्न में जोड़ा गया नोट देखें। मुझे जरूरी नहीं लगता कि पाइथन ऐसा नहीं कर सकता है, क्योंकि पाइथन विंडोज़ (उदाहरण के लिए) एपीआई को ctypes, win32api और अन्य मॉड्यूल, लॉट-ओ-मजेदार के माध्यम से कॉल कर सकता है। – gseattle

+0

मुझे लगता है कि वह डेस्कटॉप ऐप के बारे में बात कर रहा था। – rattray

संबंधित मुद्दे