सेलेनियम निर्धारित करता है कि कोई तत्व दिखाई दे रहा है या नहीं, निम्न मानदंडों द्वारा (यह निर्धारित करने के लिए कि आपके तत्व पर css क्या लागू होता है, यह निर्धारित करने के लिए DOM निरीक्षक का उपयोग करें, सुनिश्चित करें कि आप गणना की गई शैली को देखते हैं):
- दृश्यता! = छिपा हुआ
- प्रदर्शन! = कोई नहीं (प्रत्येक मूल तत्व के विरुद्ध भी जाँच की जाती है)
- अपारदर्शिता! = 0 (यह एक तत्व क्लिक करने के लिए जाँच नहीं है)
- ऊंचाई और चौड़ाई दोनों> 0 हैं
- एक इनपुट के लिए, विशेषता प्रकार! = छिपा हुआ
आपका तत्व उन मानदंडों में से एक से मेल खा रहा है। यदि आपके पास तत्व की स्टाइल को बदलने की क्षमता नहीं है, तो यहां बताया गया है कि आप इसे कैसे जावास्क्रिप्ट के साथ कर सकते हैं (वेबड्राइवर को संभालने जा रहे हैं क्योंकि आपने सेलेनियम 2 एपीआई कहा है):
((JavascriptExecutor)driver).executeScript("arguments[0].checked = true;", inputElement);
लेकिन यह एक जावास्क्रिप्ट ईवेंट को आग नहीं देगा, यदि आप उस इनपुट के लिए परिवर्तन ईवेंट पर निर्भर करते हैं, तो आपको इसे भी फायर करना होगा (ऐसा करने के कई तरीके, उस पेज पर जो भी जावास्क्रिप्ट लाइब्रेरी भरी हुई है, उसका उपयोग करना सबसे आसान है)।
दृश्यता जांच के लिए स्रोत -
https://github.com/SeleniumHQ/selenium/blob/master/javascript/atoms/dom.js#L577
WebDriver युक्ति जो इसे परिभाषित करता है -
https://dvcs.w3.org/hg/webdriver/raw-file/tip/webdriver-spec.html#widl-WebElement-isDisplayed-boolean