तो, हम हमारे पेज में निम्न कोड है:तत्व के चारों ओर एक रास्ता दृश्य में स्क्रॉल नहीं किया जा सकता - रूबी
<div class="toggle-wrapper">
<input id="HasRegistration_true" class="registration_required toggle" type="radio" value="True" name="HasRegistration" data-val-required="The HasRegistration field is required." data-val="true">
<label for="HasRegistration_true" class="">On</label>
<input id="HasRegistration_false" class="registration_required toggle" type="radio" value="False" name="HasRegistration" checked="checked">
<label class="checked" for="HasRegistration_false">Off</label>
</div>
इन 2 रेडियो बटन हैं। 'चालू और बंद'। 'ऑफ' डिफ़ॉल्ट मान है।
वॉटर-वेबड्राइवर और रूबी का उपयोग करके, हम 'ऑन' रेडियो बटन का चयन करना चाहते हैं। हम इस तरह ऐसा:
browser.radio(:id => "HasRegistration_true").set
लेकिन ऐसा करने में, हम निम्न त्रुटि मिलती है:,
`WebElement.clickElement': Element cannot be scrolled into view:[object HTMLInputElement] (Selenium::WebDriver::Error::MoveTargetOutOfBoundsError)
हम सेलेनियम पता 2 स्क्रॉल तत्व को पेज तो नीचे स्क्रॉल करने की कोशिश कर बेकार है। हम हमेशा वॉटर-वेबड्राइवर और रूबी के नवीनतम रिलीज का उपयोग कर रहे हैं।
हम पृष्ठ के HTML को नहीं बदल सकते क्योंकि हम क्यूए इंजीनियरों हैं। सीएसएस का उपयोग कर
browser.element(:xpath, "//input[@id='HasRegistration_true']").click
या
वैकल्पिक रूप से अगर यह एक छिपा तत्व का पता लगाने की कोशिश कर रहे है तो आप से बेहतर कर रहे हैं:
मैं केवल एचटीएमएल प्रदान किए गए पृष्ठ के साथ अपनी समस्या का पुनरुत्पादन नहीं कर सका। क्या आपकी समस्या को पुन: पेश करने के लिए आवश्यक पृष्ठ है? आपके ब्राउजर ने क्या प्रयास किया (यानी यह सभी ब्राउज़रों में होता है)? आप नवीनतम वॉटर-वेबड्राइवर मणि का उपयोग करके उल्लेख करते हैं, लेकिन क्या आप यह भी सुनिश्चित करते हैं कि सेलेनियम-वेबड्राइवर अद्यतित है? –
आप कहते हैं "हम जानते हैं कि सेलेनियम 2 पृष्ठ को तत्व पर स्क्रॉल करता है ..." क्या आप इस पर विस्तार कर सकते हैं? तुम यह कैसे जानते हो? क्या आप इसे देख रहे हैं? –
क्या पृष्ठ पर बहुत सारे अजाक्स सामान हो रहे हैं? ब्राउज़र को 'लोडिंग' करने के बाद पृष्ठ के भाग प्रदान किए जा रहे हैं आपकी समस्या 'तैयार' होने से पहले तत्व के साथ बातचीत करने की कोशिश करने से रोक सकती है या पृष्ठ पर कुछ अंतिम स्थिति में स्थानांतरित हो गई है, दूसरे शब्दों में सिंक्रनाइज़ेशन समस्या। आप आईआरबी के माध्यम से मैन्युअल रूप से आदेशों को आज़मा सकते हैं और देख सकते हैं कि वे काम करते हैं, अगर वे करते हैं, तो आमतौर पर सिंक समस्या –