मैं एक वेबसाइट में एक पॉपअप संवाद के साथ संघर्ष कर रहा था, जिसे मैं स्वचालित कर रहा हूं, किसी कारण से यह संवाद में एक बटन पर क्लिक नहीं करेगा लेकिन बाकी सब कुछ ठीक से जुड़ा हुआ है। यह बिना किसी समस्या के बटन को पहचान रहा था और जब मैं इसे देख रहा था तो देख सकता था कि रंग बदलने के बाद बटन पर क्लिक करना प्रतीत होता था, इसलिए मैं थोड़ा फंस गया था।सेलेनियम वेबड्राइवर क्लिक बनाम action.click क्या अंतर है?
मेरे कोड मूल रूप से बहुत स्पष्ट देखा: -
WebElement targetElement = waitforElement(threadSesh);
targetElement.click();
लेकिन जब मैंने उसे निम्नलिखित करने के लिए बदल सब बिलकुल ठीक काम करने के लिए लग रहा था!
WebElement targetElement = waitforElement(threadSesh);
Actions action = new Actions(threadSesh.driver);
action.click(targetElement);
action.perform();
क्या कोई मुझे बता सकता है कि एक विधि काम क्यों नहीं करती है जबकि अन्य काम ठीक है? साथ ही, चाहे यह मदद करता है या नहीं, साइट ट्विटर बूटस्ट्रैप का उपयोग करके बनाई गई है, यदि इससे कोई फर्क पड़ता है लेकिन बटन स्वयं बहुत ही बुनियादी था।
<div class="modal hide fade in" style="width: 481px; margin-left: -241px; padding: 15px; display: block;" role="dialog" data-backdrop="static" data-keyboard="false" aria-hidden="false">
...
<div class="modal-footer">
<a id="save-EditDetails" class="btn btn-small btn-info" type="button" style="margin-right: 7px; padding-left: 15px; padding-right: 15px;" data-bind="click: ok" href="#">Save</a>
</div>
</div>
चीयर्स मैं उन लिंक को देखूंगा। क्लिक काम करने लगते हैं, बटन रंग में झिलमिलाहट करते हैं जैसे कि एक क्लिक एक्शन हुआ है लेकिन कुछ भी रजिस्टर्ड नहीं है (सेलेनियम भी सोचता है कि यह ठीक क्लिक करता है और अगले चरण पर चलता है, जो तब विफल रहता है) तो मुझे लगता है कि मैं कार्रवाई के साथ रह सकता हूं .click। धन्यवाद :) – MorkPork
मुझे लगता है कि मैं WebElement.click() का उपयोग कर सकता हूं, लेकिन एंबेडेड एसवीजी पर क्रियाएँ नहीं। क्या Actions.dragAndDrop() के लिए एक वेब एलीमेंट एनालॉग है? या क्रियाएँ। कृपया()? – InfernalRapture