2012-01-15 11 views
24

मेरे पास एक ही पृष्ठ पर 2 बटन रद्द करें और अगला बटन है लेकिन इसमें केवल एक आईडी है (नीचे कोड देखें)। मैं अगला प्रेस करना चाहता था लेकिन हर बार जब यह रद्द बटन को पहचानता है तो केवल अगला बटन नहीं। इस मुद्दे को कैसे हल करें?यदि बटन में आईडी नहीं है तो सेलेनियम का उपयोग करके बटन को दबाएं/क्लिक करें?

<td align="center"> 
    <input type="button" id="cancelButton" value="Cancel" title="cancel" class="Submit_Button" style="background-color: rgb(0, 0, 160);"> 
    <input type="submit" value="Next" title="next" class="Submit_Button"> 
</td> 
+2

आप क्या उपयोग कर रहे हैं? सेलेनियम आरसी या वेबड्राइवर (सेलेनियम 2)? आप किस भाषा का उपयोग कर रहे हैं? जावा? सी#? अजगर? और क्या? –

उत्तर

15

सेलेनियम आईडीई में आप कर सकते हैं:

 
Command | clickAndWait 
Target | //input[@value='Next' and @title='next'] 

यह ठीक काम करना चाहिए।

+0

उत्कृष्ट ... यह काम कर रहा है .. :) – ChanGan

18

उपयोग xpath चयनकर्ता (यहाँ है त्वरित tutorial) आईडी के बजाय:

#python: 
from selenium.webdriver import Firefox 

YOUR_PAGE_URL = 'http://mypage.com/' 
NEXT_BUTTON_XPATH = '//input[@type="submit" and @title="next"]' 

browser = Firefox() 
browser.get(YOUR_PAGE_URL) 

button = browser.find_element_by_xpath(NEXT_BUTTON_XPATH) 
button.click() 

या, यदि आप "वैनिला" सेलेनियम का उपयोग करें, बस बटन आईडी के बजाय एक ही xpath चयनकर्ता का उपयोग:

NEXT_BUTTON_XPATH = '//input[@type="submit" and @title="next"]' 
selenium.click(NEXT_BUTTON_XPATH) 
1

आपको तत्व पहचानकर्ताओं के रूप में केवल पहचानकर्ता का उपयोग करने की आवश्यकता नहीं है। आप तत्व खोजने के कुछ तरीकों का उपयोग कर सकते हैं। this article पढ़ें और आपके लिए सबसे अच्छा चुनें।

+0

इस लिंक ने मेरी समस्या का समाधान नहीं किया .. – ChanGan

+0

लेकिन पढ़ने के बाद आपको पता होना चाहिए कि क्या करना है, जब तत्व को 'आईडी' विशेषता नहीं मिली है। – faramka

0

आप उस तत्व की पहचान के लिए xpath का उपयोग कर सकते हैं।

+0

यदि मैं उस xpath का उपयोग करता हूं, तो हमेशा के बजाय रद्द करना दबाएं .. – ChanGan

+0

आपने किस एक्सपैथ का उपयोग किया है और यह काम नहीं करता है? – faramka

2

अगला बटन आप xpath या नीचे के रूप में उपयोग कर सकते हैं cssSelector के लिए: अगला बटन के लिए

xpath: // इनपुट [@ मान = 'अगला'] अगला बटन के लिए

cssPath: इनपुट [मूल्य = अगला ]

3

पाठ का उपयोग और मूल्य आईडी

driver.findElementByXpath("//input[@value='cancel'][@title='cancel']").click(); 
इसी तरह अगले के लिए

के बजाय जिम्मेदार बताते हैं।

संबंधित मुद्दे