का उपयोग कर पेज लोड टाइमआउट कैसे सेट करें मैं सी # के साथ फ़ायरफ़ॉक्स ब्राउज़र बनाने और प्रबंधित करने के लिए सेलेनियम 2.20 वेबड्राइवर का उपयोग कर रहा हूं। एक पृष्ठ पर जाएँ करने के लिए, मैं निम्नलिखित कोड का उपयोग करें, URL पर जाकर से पहले चालक समय समाप्ति की स्थापना:सेलेनियम वेबड्राइवर - सी #
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); // Set implicit wait timeouts to 5 secs
driver.Manage().Timeouts().SetScriptTimeout(new TimeSpan(0, 0, 0, 5)); // Set script timeouts to 5 secs
driver.Navigate().GoToUrl(myUrl); // Goto page url
समस्या यह है कि कुछ ऐसे पृष्ठ हमेशा के लिए ले लोड करने के लिए, और ऐसा लगता है कि एक पेज के लिए डिफ़ॉल्ट टाइमआउट लोड करने के लिए है सेलेनियम वेबड्राइवर का उपयोग 30 सेकंड है, जो बहुत लंबा है। और मुझे विश्वास नहीं है कि मैं जिस समय पर जा रहा हूं, वह GoToUrl() विधि का उपयोग कर किसी पृष्ठ की लोडिंग पर लागू होता है।
तो मैं यह पता लगाने की कोशिश कर रहा हूं कि पृष्ठ को लोड करने के लिए टाइमआउट कैसे सेट करें, हालांकि, मुझे कोई भी संपत्ति या विधि नहीं मिलती जो वास्तव में काम करती है। जब मैं किसी तत्व पर क्लिक करता हूं तो डिफ़ॉल्ट 30 सेकंड टाइमआउट भी लागू होता है।
वहाँ एक विशिष्ट मूल्य के पृष्ठ लोड समय समाप्ति सेट करने के लिए इतना है कि जब मैं GoToUrl() विधि कॉल यह केवल आगे बढ़ने से पहले मेरी निर्दिष्ट समय इंतजार करेंगे कोई तरीका है?
क्या आप सुनिश्चित हैं कि 'GoToUrl()' पृष्ठ लोड होने के लिए प्रतीक्षा करता है? मेरा अनुभव यह है कि यह नहीं करता है। लेकिन यह सिर्फ एक भावना है, एक तथ्य नहीं। –
हाँ, मैं हूँ 100% यकीन है कि फोन करने GoToUrl() ब्लॉक निष्पादन जब तक पूरी तरह से पेज लोड हो रहा है किया जाता है, और मैं इस विधि फोन करने के लिए 30 सेकंड की डिफ़ॉल्ट टाइमआउट मापा जाता है 30 सेकंड के निष्पादन के लिए जारी रहेगा के बाद, और मैं कोशिश कर रहा हूँ किसी भी तरह से 30 सेकंड के उस डिफ़ॉल्ट टाइमआउट को कम करने के लिए। – KabanaSoft
मैं समान प्रश्न पोस्ट किया है: http://stackoverflow.com/questions/11958701/what-is-the-best-approach-for-timeout-using-selenium-using-webdriver –