मेरे पास ऐसी स्थिति है जहां मैं पृष्ठ पर एक यादृच्छिक लिंक क्लिक करने के लिए प्रोटैक्टर का उपयोग कर रहा हूं। (यह बहुत है)। मेरे पास लिंक की एक सरणी है जिसे मैं क्लिक नहीं करना चाहता, इसलिए मैं जानना चाहता हूं कि मेरा यादृच्छिक लिंक उस सरणी में कब होता है और एक नया यादृच्छिक लिंक उत्पन्न करता है।मान यादृच्छिक मान उत्पन्न करें यदि मान सरणी में है
यहाँ पेज
var noClickArray = ['link2', 'link3']; // array much bigger than this
var parent = this;
function() {
var links = element.all(by.css('.links'));
return links.count().then(function(count) {
var randomLink = links.get(Math.floor(Math.random() * count));
randomLink.getText().then(function(text) {
parent.selectedLink = text; // used in a different function
var containsLink = _.includes(noClickArray, text);
});
return randomLink.click();
});
}
मैं lodash उपयोग कर रहा हूँ अगर randomLink
पाठ noClickArray
में है खोजने के लिए पर एक यादृच्छिक लिंक पर क्लिक करें करने के लिए अपने काम के कोड है, लेकिन मैं जब तक यादृच्छिक मान पैदा रखने के लिए पता नहीं कैसे मान सरणी में मौजूद नहीं है। मैं यह कैसे कर सकता हूँ?
बेहतर नहीं होगा चयन लिंक पर एक अलग चयनकर्ता के लिए: इस तरह, आप सभी लिंक के लिए पाठ प्राप्त करने की लागत से बचने होगा? जैसे 'clickableLinks', इस तरह आपको इसकी वैध जांच करने के लिए पूरी सूची को फिर से भरने या फ़िल्टर करने की आवश्यकता नहीं है। – DBS
या उस ऑब्जेक्ट का उपयोग करें जहां लिंक कुंजी है ताकि आप देख सकें कि लिंक/कुंजी ऑब्जेक्ट में है या नहीं। – IMTheNachoMan