2012-11-24 15 views
5

क्या अगले चरण में जाने से पहले मैनुअल मानव इनपुट (कीबोर्ड टाइपिंग) के लिए स्क्रिप्ट (phantomjs या casperjs) को रोकने के लिए संभव है?phantomjs casperjs चलाते समय मैन्युअल इनपुट

उदाहरण के लिए, स्क्रिप्ट एक फॉर्म भर जाएगी और पूरी स्क्रीन को .png के रूप में निर्यात करेगी, फिर सबमिट करने से पहले अंतिम इनपुट में भरने के लिए उपयोगकर्ता इनपुट की प्रतीक्षा करें। कैप्चा इस बाधा में से एक है। मैं कैप्चा ब्रेकर/सॉल्वर या ऐसा कुछ भी नहीं करना चाहता क्योंकि यह प्रति रन केवल एक बार की बात है।

कोई मदद?

उत्तर

3

मैंने इसे कभी नहीं किया है, लेकिन, मुझे पता है कि आप जो स्क्रिप्ट लिखते हैं उसे ब्राउज़र/प्रेत में निष्पादित किया जाता है, कुछ स्थानीय वेबसर्वर को AJAX अनुरोध भेज सकता है। आपका बाहरी संचार है।

->screenshot 
->send to local server 
->someones open web browser polls the server for new data entry jobs 
->human submits one 
->server receives submission 
->server routes the response back to that initial ajax request 
->that ajax request that got sent from phantomjs finally receives a response. 

इस कार्यप्रवाह बाहरी संचार प्रेत/कैस्पर से संभव के किसी भी प्रकार का उपयोग किया जा सकता है (मैं सिर्फ उन्हें से परिचित नहीं हूँ)। मुझे यकीन है कि AJAX काम करता है, इसलिए मैंने इसे एक उदाहरण के रूप में इस्तेमाल किया।

+2

मेरा वर्कअराउंड अब फाइल सिस्टम का उपयोग करना है और कैप्चा स्ट्रिंग के लिए फ़ाइल सामग्री पढ़ना है। लेकिन मैं यह पता लगाने की कोशिश करता हूं कि ऐसा करने का बेहतर तरीका है या नहीं। अजाक्स मुझे ज्यादा लगता है। –

+1

अरे @ एचपी। मैं आपके जैसा ही स्थिति में हूं। क्या आप कृपया फाइलसिस्टम के साथ अपने कामकाज पर अधिक जानकारी प्रदान कर सकते हैं? क्या आपको इसे लागू करने का बेहतर तरीका मिला? धन्यवाद –

+1

एफएस का उपयोग करना एक बहुत बदसूरत हैक है। मैं सिफारिश नहीं करता। मूल रूप से मैं फ़ाइल पढ़ने से पहले थोड़ा सा इंतजार करने के लिए किसी प्रकार का टाइमर 'setTimeout' का उपयोग करता हूं। तो उस 20 सेकंड के भीतर, मैं इनपुट प्रदान करने के लिए जल्दी से टेक्स्ट फ़ाइल संपादित करता हूं। –

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