2008-09-17 18 views
23

मैं अपने कुछ कार्यों को अपने काम के स्थान पर व्यवस्थित करने की कोशिश कर रहा हूं, और ऐसा लगता है कि हमारे बहुत से डेवलपर्स का समय वेब पर अर्ध-यांत्रिक कार्यों को करने में व्यतीत होता है (विशेष रूप से, ऑनलाइन स्टोरों को संपादित करना जो वेब- आधारित इंटरफेस)। इस प्रकार, मैं कुछ समाधानों को देख रहा हूं जो स्क्रिप्ट द्वारा इन कार्यों को करने की अनुमति देंगे क्योंकि मुझे लगता है कि हमें प्रति कार्य काफी समय बचा सकता है। इससे पहले कि मैंने वास्तव में इनमें से किसी एक में खोदना शुरू कर दिया था, मैं बस सोच रहा था कि स्टैक ओवरफ्लो समुदाय की कोई सिफारिश थी कि किस वेब स्क्रिप्टिंग/मैक्रो समाधान सबसे अच्छे होंगे। -वेब स्क्रिप्टिंग/वेब मैक्रोज़ करने का सबसे अच्छा तरीका क्या है?

  • (स्क्रिप्ट एक वेब फार्म के भीतर नियंत्रण संपादित करें और फिर उस प्रपत्र प्रस्तुत करना होगा सिर्फ फ़ाइल एक पृष्ठ डाउनलोड नहीं और स्क्रैप) वेब प्रपत्रों के साथ बातचीत करने में सक्षम होना चाहिए:

    की आवश्यकताएं हैं

  • हमारे द्वारा संपादित किए जाने वाले फॉर्म सुरक्षित रूप हैं, इसलिए स्क्रिप्टिंग समाधान इसे संभालने में सक्षम होना चाहिए (यानी अगर हमारे पास वहां बैठना होगा और इसे देखना होगा तो हमारे पास अविश्वसनीय रूप से शक्तिशाली स्क्रिप्टिंग समाधान होगा। प्रत्येक कुछ मिनटों में मैन्युअल रूप से पुनः लॉगिन करें)
  • यह वास्तव में वास्तव में बेहतर होगा अगर यह फिर से हो सकता है स्थानीय फाइलें विज्ञापन करें और उन पर कुछ बुनियादी स्ट्रिंग प्रतिस्थापन/हेरफेर करें (उदा। टेक्स्ट फ़ाइल में वेरिएबल्स या कुछ एचटीएमएल कोड की सूची होना अच्छा लगेगा और उसके बाद स्क्रिप्ट को उस विशेष स्टोर के नाम के साथ टोकन को "STORENAME" को फॉर्म में डालने से पहले बदलना होगा)

यहां

  • Chickenfoot
  • iMacros for Firefox
  • libwww-पर्ल
  • : पटकथा समाधान है कि अब तक (मैं वास्तव में, इनमें से किसी भी में देखा नहीं किया है, हालांकि मैं चिकेनफूट के साथ चारों ओर निभाई है) मेरी रडार पर हैंयूनिक्स और सी के लिए
  • libwww (जबकि पर्ल मैं इस में आए, जो मैं अब तक अस्तित्व में नहीं पता था के लिए libwww के लिए खोज)
  • एक अधिक "सामान्य" मैक्रो AutoHotkey

की तरह यहाँ समाधान पर किसी को भी है स्टैक ओवरफ़्लो ने इनमें से किसी भी समाधान की कोशिश की? यदि हां, तो आप उनके बारे में क्या पसंद करते या नापसंद करते थे? क्या कोई ऐसी सूची की सिफारिश कर सकता है जो सूची में नहीं है? (यह किसी विशेष या संपूर्ण सूची से नहीं है)। मैं वास्तव में हमारी कई यांत्रिक प्रक्रियाओं को स्वचालित करना पसंद करूंगा, और मुझे उम्मीद है कि स्टैक ओवरफ्लो समुदाय हमारी मदद कर सकता है ताकि हम उम्मीद कर सकें कि काम के अधिकांश दिमागी भाग से बचें :)।

संपादित करें: पुन: मंच - हम काम पर मुख्य रूप से है Windows XP टर्मिनल है, लेकिन 1) हम कुछ मैक परीक्षण पीसी की क्या ज़रूरत है, तो ओएस एक्स एक व्यवहार्य विकल्प है, और 2) अगर यह एक बहुत स्वचालित मतलब होगा इन कार्यों में से, यदि आवश्यक हो तो मैं एक लिनक्स बॉक्स बनाउंगा। तो मंच काफी गैर-मुद्दा है।

उत्तर

2

मैं वास्तव में watir फ्रेमवर्क (माणिक पर चल रहा है) की तरह - प्रोग्राम, आसान, IE का उपयोग करता है वेब स्वचालित करने के लिए (और इसलिए आप सच ब्राउज़र के व्यवहार मिलता है)। बेशक, यह केवल विंडोज़ है - आपने यह निर्दिष्ट नहीं किया कि आप इसका उपयोग करते हैं या नहीं।

हमने वेबपैप के हमारे परीक्षणों को स्वचालित करने के लिए वॉटर का उपयोग किया है, और हम बहुत संतुष्ट हैं।

2

@ एसाफ बार्टोव, वास्तव में, वाटिर केवल विंडोज़ नहीं है।फायरवाटिर भी है जो विंडोज, लिनक्स और मैक पर काम करता है, और सफारी वाटर जो मैक पर काम करता है।

http://wtr.rubyforge.org/ http://wiki.openqa.org/display/WTR/FireWatir http://safariwatir.rubyforge.org/

2

कुछ सुझाव:

संपादित करें: मुझे लगता है कि यह उन वेब पृष्ठों पर कार्य करेगा जो आप फ़ॉर्म में जमा करना चाहते हैं।

+0

Greasemonkey वास्तव में समस्या को ठीक नहीं लग रहा है। Greasemonkey "जब ऐसा और ऐसा पृष्ठ लोड होता है, तो इस जावास्क्रिप्ट को चलाएं," जबकि मैं जो खोज रहा हूं वह "इस फ़ॉर्म में इसे दर्ज करें, फिर सबमिट करें पर क्लिक करें, फिर इस अन्य फॉर्म पर जाएं, दर्ज करें यह अन्य सामान, आदि " – Whisker

+0

मैं सोच रहा था कि यदि आप उस डेटा को प्राप्त कर सकते हैं जिसे आप किसी वेब पेज पर सबमिट करना चाहते हैं, तो आप इसे फॉर्म में सबमिट करने के लिए GreaseMonkey का उपयोग कर सकते हैं। (मुझे लगता है कि आपको इसे क्रॉस साइट xmlhttprequest करने की आवश्यकता होगी) –

+0

मैंने कभी इसके बारे में सोचा नहीं; समस्या के उलझन पर kudos। हालांकि अगर मैं उस बिंदु पर था जहां यह एक गंभीर विकल्प था, तो शायद मैं चिकनफुट को पहले देखता हूं, क्योंकि यह जीएम एपीआई का समर्थन करता है और समस्या के मेरे मानसिक मॉडल के लिए अधिक उपयुक्त है ("इस यूआरएल पर जाएं, क्लिक करें यह, सबमिट करें ") – Whisker

1

यदि आप libwww-perl का उपयोग कर रहे हैं, तो वहां मत रुकें। डब्ल्यूडब्ल्यूडब्लू :: मैकेनाइज का प्रयोग करें, जो एलडब्ल्यूपी के चारों ओर एक रैपर है जो ब्राउज़र इंटरैक्शन आपको चाहता है। नकारात्मक: यह जावास्क्रिप्ट को संभाल नहीं करता है (अभी तक)।

WWW::Mechanize home page

+0

बहुत बढ़िया - लिंक के लिए धन्यवाद। मैं निश्चित रूप से उस पर ध्यान रखूंगा, लेकिन मुझे पहले जावास्क्रिप्ट चेतावनी के प्रकाश में एक बड़ा पैर की अंगुली डुबकी डालना होगा (जिसे मैं आपको उल्लेख करने के लिए भी धन्यवाद देता हूं)। – Whisker

2

मैं वास्तव में चिकेनफूट के एक बड़े प्रशंसक है, जो मैं हाल ही में एक बहुत का उपयोग कर Zotero, एक और Firefox विस्तार के लिए पटकथा क्षमता प्रदान शुरू कर दिया है हूँ।

3

एक और विकल्प AutoIT + Firefox + mozrepl + FF.au3 का उपयोग करता है। यह शक्तिशाली है क्योंकि ऑटोआईटी ब्राउज़र के बाहर काम करता है (यह अपने आप में एक शानदार स्वचालन उपकरण है) ताकि आप संदर्भ खोए बिना एकाधिक ब्राउज़र फॉर्म सबमिट करके काम कर सकें। फिर FF.au3 स्क्रिप्ट आपको ऑटोआईटी 3 के माध्यम से फ़ायरफ़ॉक्स को बस नियंत्रित करने देता है।

1

हम iMacros उपकरण आपको अच्छा सफलता के साथ उल्लेख किया का उपयोग करें:

फ़ायरफ़ॉक्स + iMacros

नोट यह भी रूप में मुक्त आईई ऐड-ऑन आता है कि! इसके बारे में सबसे अच्छी बात यह है कि बिल्कुल समान मैक्रोज़ दोनों ब्राउज़रों में काम करते हैं। आईएमएचओ त्वरित और आसान वेब परीक्षण और सामान्य वेब स्वचालन के लिए बहुत उपयोगी है।

टिम

2

उपयोग: रिकॉर्ड और के लिए खोज
जाओ आप की तरह पेज (जैसे yahoo.com) करने के लिए, ध्यान केंद्रित करने में iMacro लाने के लिए, मारा:

फ़ायरफ़ॉक्स + iMacros लाने के लिए कुछ पाठ जब पहला पृष्ठ दिखाता है, तो पृष्ठ को फ़ाइल में सहेजें।

अब आपके पास एक पृष्ठ है जिसे आप चाहते थे।
आप इस बिंदु पर fetching कर रहे हैं।
मैक्रो को सहेजें और इसे एक नाम दें। अगली बार जब आप केवल मैक्रो को चला सकते हैं जिसे आपने अभी सहेजा था।

फिर आप एचटीएमएल कोड आप इस का उपयोग करके मिल को साफ:

# this is php, do the proper thing in the language of your choice 
# one or more spaces is equal to one space, remove tab, return ...etc. 
return ereg_replace(' +', ' ', trim(preg_replace("/(\r\n|\r|\t|\n|\'|\")/s", '', $string) 


अब आप एक पंक्ति, एक लंबे एक के साथ एक साफ html पृष्ठ है।
अब आप regEx का उपयोग करके अपनी इच्छानुसार कट और टुकड़ा कर सकते हैं।

इन बातों को जानें:
आप एक cronjob (कमांडलाइन) के माध्यम से फ़ायरफ़ॉक्स में मैक्रो शुरू कर सकते हैं यदि आप पूर्ण स्वचालन की जरूरत है।

1

आईमैक्रोस का मेरा प्रभाव आपको need to pay बहुत सारी उपहारों को अनलॉक करने के लिए है, इसलिए मैं चिकनफुट के साथ गया। दुर्भाग्यवश चिकनफुट मेलिंग सूची हाल ही में बहुत शांत है, इसलिए इसके भविष्य के बारे में विश्वास नहीं है ...

0

मैं डेटा निष्कर्षण परियोजना के लिए iMacro/.net का उपयोग कर रहा हूं। मुझे iMacros के लिए स्क्रिप्टिंग की आसानी पसंद है, जो महत्वपूर्ण है क्योंकि एप्लिकेशन से डेटा निकालने के लिए 60+ वेबसाइटें हो सकती हैं। इस परियोजना के लिए iMacros चलाने की ओवरहेड लागत बचाए गए विकास के समय के लायक है। यह आदर्श समाधान नहीं है, लेकिन यह एक और वेबसाइट के डेटा के साथ इंटरफेस करने का एक तरीका है, मानते हुए कि वे उचित इंटरफ़ेस प्रदान नहीं करते हैं। साफ हिस्सा यह है कि मैंने लोड वितरित करने में मदद के लिए iMacros स्क्रैपर्स का एक छोटा सर्वर क्लस्टर बनाया है। अभी उपयोगकर्ता एडहोक अनुरोधों के लिए वेबसाइट के माध्यम से एप्लिकेशन सर्वर तक पहुंच सकते हैं, लेकिन आखिरकार मैं इसे और अधिक स्ट्रीम वाली लाइन में विकसित करना चाहता हूं।

3

मैं सेलेनियम का एक बड़ा प्रशंसक हूँ

http://www.seleniumhq.com

पटकथा का समर्थन (कई भाषाओं) के साथ स्वचालित ब्राउज़र का परीक्षण हालांकि संभालने के लिए आप मैक्रो टेम्पलेट्स कि कारकों के आधार रूपों और इस तरह भर देंगे डिज़ाइन कर सकते हैं डिज़ाइन किया गया

भी: किसी को भी एक अच्छा मैक्रो पता है जो फ्लैश के साथ काम करता है ?? ऐसा नहीं लगता है कि जावास्क्रिप्ट उस रेखा को पार करने में सक्षम है

3

फ़ायरफ़ॉक्स के लिए iMacros निःशुल्क है और यह आपको बस चाहिए! यह किसी भी ब्राउज़र गतिविधि को स्वचालित करता है और बस काम करता है! यह बाहरी डेटा भरने के फॉर्म भी पढ़ और लिख सकता है और कई अन्य। मैं इस फ़ायरफ़ॉक्स ऐड-ऑन का बड़ा प्रशंसक हूं!

1

WatiN, वॉटर के नेट संस्करण। मुझे बहुत पसंद है।

0

वहाँ अजगर के लिए कई विकल्प हैं:

  • बुनियादी urllib2 पद समर्थन
  • Mechanize और उसके रैपर (मूल रूप से, 9 साल पहले, पर्ल, बेहद उसके बाद सुधार से पोर्ट):
    • Twill (और साथ कमांड लाइन से काम करता है)
    • zope.testbrowser

यहाँ एक कम और स्पष्ट ब्लॉग पोस्ट (हालांकि थोड़ा दिनांकित) विभिन्न लिब्ज़ का उपयोग कर की तुलना कैसे एक ही सरल कार्य पूरा किया जा सकता है: Clientform यह भी उल्लेख किया http://blog.spritecloud.com/2010/01/posting-forms-with-python/

ध्यान दें कि वहाँ आजकल मशीनीकरण का हिस्सा है ।

+0

मेरे जैसे लोगों के लिए जो मशीनी दस्तावेज़ नहीं ढूंढ सकते - यह [समर्थन] में है (http://wwwsearch.sourceforge.net/mechanize/support.html) पृष्ठ –

0

आप फ़ायरफ़ॉक्स प्लगइन iMacro और नोटपैड ++ मैक्रो फ़ंक्शन का उपयोग कर इसे प्राप्त कर सकते हैं।

http://xianlin.wordpress.com/2014/02/05/how-to-use-iopus-imacros-notepad-web/

आप विधि मुझे लगता है कि ब्लॉग में वर्णन किया है का उपयोग करके समान कार्य करने के लिए सक्षम होना चाहिए:

एक ट्यूटोरियल आप मेरे ब्लॉग पर पढ़ सकते हैं नहीं है।