Google Chrome के साथ स्वचालित सहभागिता


9

ऑल राइट एसयू, मेरे पास दरार करने के लिए एक मजेदार अखरोट है।

मेरे पास एक पंक्ति में 8 स्क्रीन स्थापित हैं, सभी एक बीफ़ G5 में स्नो लेपर्ड (हाँ, 4 ग्राफिक्स कार्ड, लगभग 15,000 पिक्सेल चौड़े!) से टकराते हैं। मैं एक डेमो स्थापित कर रहा हूं जिसमें 8 क्रोम ब्राउज़र विंडो का उपयोग किया गया है, जो हर एक को अलग URL की ओर इशारा करता है। हर बार कंप्यूटर को पुनरारंभ करने के बाद मैन्युअल रूप से ऐसा करने के लिए गधे में दर्द होता है।

इस सेट-अप को देखते हुए मैं स्वचालित रूप से एक स्क्रिप्ट लिखना चाहता हूं:

  1. किसी विशिष्ट स्क्रीन पर क्रोम विंडो खोलें
  2. उस विंडो को एक विशिष्ट URL पर इंगित करें
  3. पूर्ण स्क्रीन वह विंडो (कमांड-एफ कीबोर्ड शॉर्टकट है)

मैंने ऑटोमेकर का उपयोग नहीं किया है और मैं विशेष रूप से शेल स्क्रिप्टिंग से परिचित नहीं हूं, लेकिन मैं सोच रहा था कि क्या भीड़ से कोई फैंसी सुझाव थे।

अद्यतन: भले ही मुझे उच्च स्तर की कार्यक्षमता के लिए ऑटोमेटर का उपयोग करने की आवश्यकता है, मैं अंततः कमांड-लाइन या स्क्रिप्ट से स्क्रिप्ट को ट्रिगर करने के तरीके की उम्मीद कर रहा हूं। यदि आवश्यक हो तो मैं खोल से इस डेमो को दूरस्थ रूप से चालू करना चाहूंगा।


मुझे लगता है कि ऑटोमेटर शुरू करने के लिए एक शानदार जगह है .. हालांकि मैंने भी इसका इतना इस्तेमाल नहीं किया है। मैंने एक उत्पाद "एग प्लांट पर्पल" का उपयोग किया, जिसे आप इसके लिए उपयोग करने में सक्षम हो सकते हैं - हालांकि मैं यह सोचना चाहूंगा कि वहाँ से बेहतर विकल्प हैं ..
जेम्स टी स्नेल

मुझे लगता है कि विशिष्ट स्क्रीन क्या है, हालांकि इसे प्राप्त करना कठिन है।
'18:

जवाबों:


8

मैं यह समझ गया!

एप्सस्क्रिप्ट एक महान संसाधन है, और क्रोम में एक शब्दकोश है (आप इसे "एप्लेसस्क्रिप्ट संपादक" में देख सकते हैं और फिर "ओपन डिक्शनरी" चुनें और सूची में क्रोम ढूंढें)।

कोड:

set screenCount to 8
set screenWidth to 1950
set baseURL to "http://localhost:8000"

tell application "Google Chrome"
    activate
    repeat while window 1 exists
        close window 1
    end repeat
    repeat with x from 1 to screenCount

        set w to make new window with properties {bounds:{screenWidth * (x - 1), 500, 500 + screenWidth * (x - 1), 1000}}
        tell application "System Events" to keystroke "F" using {command down, shift down}
        set URL of active tab of w to (baseURL & "/" & "#" & (x - 1))

    end repeat
end tell

स्क्रिप्ट निम्न कार्य करती है:

  1. Chrome सक्रिय करें (या तो इसे खोलता है, या यदि यह खुला है, तो यह फोकस बनाता है)
  2. किसी भी खुली ब्राउज़र विंडो को बंद करें
  3. [स्क्रीनकाउंट] ब्राउज़र विंडो बनाएं, उन्हें एक विशिष्ट समन्वय पर खोलना ({सीमा में पहले दो शब्द x हैं, ऊपरी बाएँ के y हैं। {bounds} में दूसरे दो शब्द x हैं, निम्न के y) हैं। सही)
  4. प्रत्येक ब्राउज़र विंडो खुलने के बाद, एक "पूर्ण स्क्रीन" कमांड (कमांड + शिफ्ट + एफ) भेजें
  5. प्रत्येक ब्राउज़र विंडो पूरी स्क्रीन पर आने के बाद, URL को वांछित स्थान पर सेट करें।

ध्यान रखें कि मेरे URL एक विशिष्ट सूत्र (जैसे http: // localhost: 8000 / # 0 ) में फिट हैं, इसलिए उन्हें गतिशील रूप से जनरेट करना आसान था। बेतरतीब ढंग से समान जरूरतों वाले किसी भी व्यक्ति के लिए आप इसे एक शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

अंत में, टर्मिनल की आवश्यकता के अनुसार, आप निम्नलिखित लाइन का उपयोग करके टर्मिनल पर एप्सस्क्रिप्ट को चला सकते हैं:

ऑसस्क्रिप्ट [लिपिनाम]

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