मैं वेबड्राइवर और फ़ायरफ़ॉक्स के साथ कई परीक्षण चला रहा हूं।फ़ायरफ़ॉक्स में पेज लोडिंग को प्रोग्रामेटिक रूप से कैसे रोकें?
मैं निम्न आदेश के साथ एक समस्या में चल रहा हूँ: इस आदेश के साथ
WebDriver.get(www.google.com);
, ऑनलोड घटना तक WebDriver ब्लॉक निकाल दिया जाता है। हालांकि यह आमतौर पर सेकंड ले सकता है, इसमें वेबसाइटों पर घंटों लग सकते हैं जो लोडिंग कभी खत्म नहीं करते हैं।
मैं जो करना चाहता हूं वह एक निश्चित टाइमआउट के बाद पृष्ठ को लोड करना बंद कर देता है, किसी भी तरह फ़ायरफ़ॉक्स के स्टॉप बटन को अनुकरण करता है।
जिसमें आदेश की वजह से: क्योंकि शायद,
var loadTimeout=setTimeout(\"window.stop();\", 10000);
दुर्भाग्य से यह काम नहीं करता:
मैं पहली बार निम्नलिखित जे एस कोड हर बार है कि मैं एक पृष्ठ लोड हो रहा करने की कोशिश की पर अमल करने की कोशिश की स्क्रिप्ट लोड हो जाती हैं, स्टॉप() विधि उस दस्तावेज़ को रोक नहीं सकती है जिसमें यह 1
UPDA लोड करने से निहित है TE 1: मैंने कनेक्ट जोड़ने और टाइमआउट का अनुरोध करने के लिए SquidProxy का उपयोग करने का प्रयास किया, लेकिन समस्या बनी रही।
आज एक अजीब बात जो मैंने पाया वह यह है कि एक ऐसी वेबसाइट जो मेरी मशीन (एफएफ 3.6 - 4.0 और मैक ओएस 10.6.7) पर लोडिंग को कभी नहीं रोकती है, आमतौर पर अन्य ब्राउज़रों और/या कंप्यूटरों पर लोड होती है।
अद्यतन 2: फ़ायरफ़ॉक्स को छवियों को लोड न करने के बारे में बताकर समस्या को हल किया जा सकता है। उम्मीद है कि उसके बाद सबकुछ काम करेगा ...
मेरी इच्छा है कि इसका उपयोग करने के लिए वेबड्राइवर का बेहतर क्रोम ड्राइवर हो। फ़ायरफ़ॉक्स हर दिन मुझे निराशाजनक है!
अद्यतन 3: सेलेनियम 2.9 ने उन मामलों को संभालने के लिए एक नई सुविधा जोड़ा जहां ड्राइवर लटकता प्रतीत होता है। यह FirefoxProfile
साथ इस प्रकार के रूप में इस्तेमाल किया जा सकता है:
FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("web");
firefoxProfile.setPreference("webdriver.load.strategy", "fast");
मैं पोस्ट करेंगे कि क्या यह काम करता है के बाद मैं इसे प्रयास करें।
अद्यतन 4: अंत में उपर्युक्त तरीकों में से कोई भी काम नहीं करता है। मैं उन धागे को "मारना" समाप्त करता हूं जो खत्म होने में लंबे समय तक ले रहे हैं। मैं Ghostdriver को आजमाने की योजना बना रहा हूं जो रिमोट वेबड्राइवर है जो फ़ैंटॉमजेएस को बैक-एंड के रूप में उपयोग करता है। फैंटॉमजेएस एक हेडलेस वेबकिट स्क्रिप्ट योग्य है, इसलिए मुझे उम्मीद है कि फ़ायरफ़ॉक्स जैसे वास्तविक ब्राउज़र की समस्याएं न हों। उन लोगों के लिए जो फ़ायरफ़ॉक्स (क्रॉलिंग उद्देश्यों) का उपयोग करने के लिए बाध्य नहीं हैं, मैं परिणाम
अपडेट 5 के साथ अपडेट करूँगा। अद्यतन के लिए समय। Ghostdriver 1.1 के बजाय 5 महीनों के लिए उपयोग करना फ़ायरफ़ॉक्स ड्राइवर मैं कह सकता हूं कि मैं अपने प्रदर्शन और स्थिरता से वास्तव में खुश हूं। मुझे कुछ ऐसे मामले मिले हैं जहां हमारे पास उचित व्यवहार नहीं है लेकिन सामान्य भूत-प्रेमी की तरह दिखता है। इसलिए यदि आपको मेरी तरह, क्रॉलिंग/वेब स्क्रैपिंग उद्देश्यों के लिए एक ब्राउज़र की आवश्यकता है, तो मैं आपको भूत-प्रेमी का उपयोग फ़ायरफ़ॉक्स और एक्सवीएफबी का उपयोग करने की सिफारिश करता हूं जो आपको कई सिरदर्द देगा ...
यह आपके लिए काम किया था: तो फिर तुम जैसे एक Greasemonkey स्क्रिप्ट के लिए जा सकते हैं? – Nyx
दुर्भाग्य से नहीं। मैं थ्रेडों को "मारने" को समाप्त करता हूं जो एक नॉन स्टॉप लोडिंग पेज प्राप्त करते हैं .. – ArisRe82