मैं सेलेनियम (पाइथन इंटरफेस का उपयोग करके, और कई ब्राउज़रों में) के साथ एक जटिल जावास्क्रिप्ट इंटरफेस का परीक्षण करने की कोशिश कर रहा हूं।मैं उस तत्व को कैसे ढूंढूं जिसमें सेलेनियम वेबड्राइवर (पायथन) में विशिष्ट टेक्स्ट शामिल है?
<div>My Button</div>
मैं "मेरा बटन" आधारित बटन के लिए खोज करने के लिए (या समर्थ गैर केस-संवेदी होना चाहते हैं, इस तरह के "मेरे बटन" के रूप में आंशिक मिलान मैं फार्म के बटन की एक संख्या है या "बटन")
मुझे यह आश्चर्यजनक मुश्किल मिल रही है, जिस हद तक मुझे लगता है कि मुझे कुछ स्पष्ट याद आ रही है। अब तक की सबसे अच्छी बात यह है कि:
driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')
हालांकि यह मामला संवेदनशील है। दूसरी चीज मैंने कोशिश की है पृष्ठ पर सभी divs के माध्यम से, और element.text संपत्ति की जांच कर रहा है।
<div class="outer"><div class="inner">My Button</div></div>
div.outer भी पाठ के रूप में "मेरे बटन" है: हालांकि, हर बार जब आप फार्म की एक स्थिति मिलता है। इसे ठीक करने के लिए, मैंने यह देखने की कोशिश की है कि div.outer div.inner का अभिभावक है, लेकिन यह नहीं पता कि यह कैसे करें (element.get_element_by_xpath ('..') किसी तत्व के माता-पिता को लौटाता है, लेकिन यह परीक्षण div.outer के बराबर नहीं है)। साथ ही, पृष्ठ पर मौजूद सभी तत्वों के माध्यम से कम से कम क्रोम वेबड्राइवर का उपयोग करके, वास्तव में धीमा प्रतीत होता है।
विचार?
संपादित करें: यह प्रश्न थोड़ा अस्पष्ट आया। यह पूछने पर (और जवाब) एक अधिक विशिष्ट संस्करण यहाँ: How to get text of an element in Selenium WebDriver (via the Python api) without including child element text?
वर्तमान जवाब मेरे लिए काम नहीं किया। इसने किया: http://sqa.stackexchange.com/a/2486 – alejandro