मैं सेलेनियम-वेबड्रिवरज का उपयोग कर रहा हूं। मैं इस प्रकार है जिसके लिए मैं एक स्पष्ट इंतजार बनाया है प्रदर्शित करने के लिए एक निश्चित तत्व के लिए इंतजार करना चाहते हैं और यह सिर्फ ठीक काम करता है,सेलेनियम वेबड्राइवर जेएस - स्पष्ट प्रतीक्षा
var displayed = false;
driver.wait(function(){
driver.findElement(locator).isDisplayed().then(function(value){
displayed = value;
});
return displayed;
}, timeout);
यह सबसे अच्छा मैं कर सकता हूँ है या ऐसा करने के लिए एक बेहतर तरीका है ? कारण मैं पूछता हूं कि पहली बार प्रतीक्षा कॉलबैक को बुलाया जाता है (मेरे मामले में) यह हमेशा झूठी वापसी करेगा। केवल बाद में जब प्रदर्शन किया गया वादा निष्पादित किया जाता है तो प्रदर्शित परिवर्तन का मूल्य होगा।
आप सही हैं के निर्माता हूँ। मैं अभी भी वादे करने के लिए उपयोग कर रहा हूं ... –
हैलो दोस्तों, इस समाधान ने मुझे 'त्रुटि: यह डिफर्ड पहले ही हल कर लिया है।' क्या यह आपके लिए काम करता है? – haejeong87
इसके बजाय, 'driver.isElementPresent (लोकेटर); 'मेरे लिए काम किया है, जो आप इस समाधान का उपयोग नहीं कर सकते हैं :) – haejeong87