2013-02-07 12 views
5

मुझे डाउनलोड कार्रवाई का परीक्षण करने की आवश्यकता है। मैंने एफएफ और क्रोम ब्राउज़र के लिए रिमोट वेबड्राइवर को पहले ही किसी भी प्रोम और पॉपअप-विंडोज़ के बिना फ़ाइलों को डाउनलोड करने के लिए कॉन्फ़िगर किया है। लेकिन मुझे कोई उपयोगी जानकारी नहीं मिल रही है - आईई 9 के लिए फ़ाइल ऑटो-डाउनलोडिंग की अनुमति कैसे दें।वेबड्राइवर | आईई 9 | सेटअप ऑटो-डाउनलोड फ़ाइलें

मैं क्या कोशिश की है:

  • ड्राइवर ही कॉन्फ़िगर करने के लिए किसी भी संभव तरीके खोजने। कुछ भी नहीं मिला: कोई क्षमता नहीं, कोई विकल्प नहीं, कोई cmd args
  • सुरक्षा टैब में सेटिंग्स ढूंढें। मैंने इसे पहले ही जांच लिया है और पाया है कि इसे अनुमति देने के लिए सेटिंग्स IE9 के लिए हटा दी गई थीं।
  • उपयोग ऐसे रजिस्ट्री कुंजी है, लेकिन यह मदद नहीं करता है (पाया यह here):

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ इंटरनेट सेटिंग्स \ क्षेत्र \ 2202 = 0x0

और इस:

\ Microsoft HKEY_LOCAL_MACHINE \ SOFTWARE \ इंटरनेट एक्सप्लोरर \ मुख्य \ फ़ीचर नियंत्रण \ FEATURE_RESTRICT_FILEDOWNLOAD \ iexplore.exe = 0x00000000

कौन जानता है कि इसे कैसे हल किया जाए? क्या यह असली है?

+3

यहां एक क्रॉस प्लेटफार्म फ़ाइल डाउनलोड समाधान है (ब्लॉग एंट्री के बाद आपको पहले रुकने के लिए प्रोत्साहित किया जाता है और आप फ़ाइलों को डाउनलोड क्यों कर रहे हैं): http://ardesco.lazerycode.com/index.php/2012/07/ कैसे-से-डाउनलोड-फाइल-सेलेनियम-और-क्यों-आप-नहीं चाहिए/ – Ardesco

उत्तर

3

दुर्भाग्यवश, मैंने हाल ही में इस समस्या को भी मारा है। मुझे यह कहने में डर है कि यह अच्छी खबर नहीं है।

आईई 8 और नीचे, यह अलग था, क्योंकि यह एक नई खिड़की थी जिसके साथ आप बातचीत कर सकते थे।

IE9, यह अब एक builtin 'फ़्रेम सूचना पट्टी'

है आप PInvoke का उपयोग कर सहेजें बटन पर क्लिक कर सकते हैं ... यह विषय देखें:

https://stackoverflow.com/a/8532222/1173729

यही जवाब Watin के लिए है, लेकिन एकमात्र अंतर यह है कि वाटिन पहले से ही किसी विशेष ब्राउज़र विंडो के हैंडल को प्राप्त करने की क्षमता को समाहित करता है। इसे आसानी से अपनी विधि से स्विच किया जा सकता है, बिंदु आमतौर पर आईई की खिड़की के हैंडल को प्राप्त करता है, जब तक आप 'सेव' बटन नहीं दबाते, तब तक उसके बच्चे के तत्वों को नीचे चलाएं। हालांकि, यह एक बड़ी कमी है, नियंत्रण को सेलेनियम पर वापस स्विच करना - ऐसा नहीं होता है, सेलेनियम बस लटकाएगा।

नोट, यह सब सी # में है। जावा जाहिरा तौर पर 'रोबोट' वर्ग की तरह, अन्य तरीकों से है:

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html

मैं उन्हें इस्तेमाल नहीं किया है, लेकिन आप जहां सहेजें बटन हो जाएगा करने के लिए इसे निर्देशित करने के लिए वर्ग का उपयोग करने में सक्षम हो जाएगा।

इस समस्या से बचने के लिए कोई रजिस्ट्री कुंजी या सेटिंग्स नहीं होगी - यह संभव नहीं है।

मैंने निर्णय लिया है कि चूंकि एफएफ & क्रोम स्वचालित रूप से फ़ाइल डाउनलोड करने के लिए सेट अप किया जा सकता है, तो आप इसके बाद के अस्तित्व को सत्यापित कर सकते हैं। आप परीक्षण करते हैं कि फ़ाइल डाउनलोड की जा सकती है और यह हार्ड ड्राइव पर दिखाई देती है।

आईई 9 में ऐसा नहीं होने की संभावना है, अगर यह क्रोम और फ़ायरफ़ॉक्स में ठीक काम करता है? पतला, लेकिन संभव है।

नीचे की रेखा यह एक ओएस संवाद है, सेलेनियम के दायरे से बाहर कुछ।

आप इसे ऑटोआईट के साथ भी जोड़ सकते हैं। मेरा अनुभव है कि ऑटोआईटी भी उतना ही तेज हो सकता है।

+0

धन्यवाद, मैं इसे आज़माउंगा। रोबोट का कभी भी उपयोग नहीं किया है - यह उपयोगी अनुभव होगा :) thnx! असल में, मुझे सभी ब्राउज़रों के लिए डाउनलोड कार्रवाई की जांच करने की आवश्यकता है क्योंकि यह हमेशा किसी भी कारण से उपयोगकर्ता के लिए डाउनलोड बटन या बटन-जैसी तत्व क्लिक करने में सक्षम नहीं हो सकता है। – Gadget