@pavel_kazlou, अच्छी तरह से FluentWait पर अपने प्रश्न के विषय में: मूल रूप से वहाँ प्रतीक्षा के दो प्रकार हैं: स्पष्ट इंतजार
WebDriverWait.until(condition-that-finds-the-element)
अंतर्निहित इंतजार
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
अंतर
है
- स्पष्ट - आपके स्क्रिप्ट के सभी तत्वों पर लागू प्रतीक्षा समय लागू होता है लेकिन केवल विशेष तत्व
- स्पष्ट रूप से स्पष्ट रूप से आप कॉन्फ़िगर कर सकते हैं, कितनी बार (500 मिलीसेकंड के बजाय) आप स्थिति की जांच करना चाहते हैं।
- स्पष्ट में आप भी समय समाप्ति तक "NoSuchElement" के अलावा अन्य अपवादों को अनदेखा करने की .. एक FluentWait जो WebDriverWait (जो वास्तव में FluentWait फैली) की तरह ही काम करता है, लेकिन आप एक छोटे से अधिक लचीलापन प्रदान करता प्रयोग करें कॉन्फ़िगर कर सकते हैं।
यहां वेबड्राइवरवाइट उपयोग उदाहरण है (तत्व मतदान मतदान अंतराल (मिलीसेकंड में मापा गया) निर्दिष्ट करने के लिए एक अलग WebDriverWait कन्स्ट्रक्टर का उपयोग करें।):
new WebDriverWait(webDriver(), 10, 50).until(ExpectedConditions.elementToBeClickable(By.xpath(menuItemXpath)));
एक FluentWait जो इसी तरह WebDriverWait (जो वास्तव में FluentWait फैली करने के लिए काम करता है) लेकिन आप एक छोटे से अधिक लचीलापन प्रदान करता है का उपयोग करना: अनदेखी करने के लिए WebDriver अपवाद का चयन करने की क्षमता विशेष रूप से। के उपयोग का उदाहरण:
new FluentWait(webDriver())
.withTimeout(timeout, TimeUnit.SECONDS)
.pollingEvery(50, TimeUnit.MILLISECONDS)
.ignoring(NoSuchElementException.class)
.until(ExpectedConditions.elementToBeClickable(By.xpath(menuItemXpath)));
मेरी टिप्पणी निष्कर्ष करने के लिए: fluentWait इंतजार का एक स्पष्ट प्रकार है और आप संभावना स्पष्ट रूप से चयन करने के लिए WebDriver अपवाद की किस प्रकार की अनदेखी करने, जहां प्रतीक्षा करने के रूप में किसी भी अंतर्निहित प्रतीक्षा समय की निश्चित राशि भी शामिल है प्रदान करता है किसी भी वेबलेमेंट के लिए। IMHO fluentWait दृष्टिकोण इस दृष्टिकोण से अधिक मजबूत है।
स्रोत
2012-10-24 09:51:35
मैं 'साथ driver.findElements (By.cssSelector (" [id = एक] [id = ख चारों ओर एक सा खेला ] ")) 'लेकिन यह एक * या * नहीं है। मुझे एक सीएसएस * या * चयनकर्ता नहीं मिला है। Xpath या operand का उपयोग कर – VolkerK