सेलेनियम पायथन वेबड्राइवर में कमांड निष्पादन विलंबता के लिए अधिकतम समय सीमा निर्धारित करने का एक अच्छा तरीका खोजने का प्रयास कर रहा है। आदर्श रूप से, कुछ:सेलेनियम पायथन वेबड्राइवर डिफ़ॉल्ट टाइमआउट कैसे सेट करें?
my_driver = get_my_driver()
my_driver.set_timeout(30) # seconds
my_driver.get('http://www.example.com') # stops/throws exception when time is over 30 seconds
काम करेगा। मुझे .implicitly_wait(30)
मिला है, लेकिन मुझे यकीन नहीं है कि यह वांछित व्यवहार में परिणाम देता है या नहीं।
यदि यह उपयोगी है, तो हम विशेष रूप से फ़ायरफ़ॉक्स के लिए वेबड्राइवर का उपयोग कर रहे हैं।
संपादित
@ अमय के जवाब के अनुसार, इस उपयोगी हो सकता है:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
हालांकि, यह मेरे लिए स्पष्ट नहीं है निहित प्रतीक्षा दोनों get
पर लागू होता है कि क्या (जो वांछित है कार्यक्षमता) और find_element_by_id
पर।
बहुत बहुत धन्यवाद!
मैं स्रोत कोड पर एक नज़र था। यह अजगर बाध्यकारी के लिए अस्पष्ट है। लेकिन सी # के लिए, 'ImplicitlyWait' केवल' FindElement/FindElements' (जावा के लिए समान) के लिए काम करता है। स्रोत: [1] (https://code.google.com/p/selenium/source/browse/dotnet/src/WebDriver/ITimeouts.cs#48) [2] (https://code.google.com/ पी/सेलेनियम/मुद्दों/विस्तार? आईडी = 50 9 2) –
धन्यवाद। यदि आप रुचि रखते हैं तो नीचे मेरा उत्तर देखें। –