2012-10-17 13 views
37

जावा के साथ सेलेनियम वेबड्राइवर का उपयोग करके लिंग (जैसे नर, मादा) जैसे ड्रॉप डाउन सूची से मैं आइटम कैसे चुन सकता हूं?जावा के साथ सेलेनियम वेबड्राइवर का उपयोग कर ड्रॉपडाउन सूची से किसी आइटम का चयन कैसे करें?

मैं इस

WebElement select = driver.findElement(By.id("gender")); 
List<WebElement> options = select.findElements(By.tagName("Male")); 
for (WebElement option : options) { 
    if("Germany".equals(option.getText())) 
     option.click(); 
} 

मेरे ऊपर कोड काम नहीं किया कोशिश की है।

+1

इसी के लिए: http://stackoverflow.com/questions/7232544/selenium-webdriver-and-dropdown-boxes – 3ck

+0

खेद इस सका, टी मुझे बाहर करने में मदद कर सकते हैं .. आप मुझे रास्ता प्रदान करते हैं या मुझे कोई विचार देते हैं, इसलिए मैं आगे बढ़ सकता हूं –

+1

स्टैक ओवरफ्लो उपयोगकर्ता उन लोगों की मदद करते हैं जो स्वयं की मदद करते हैं :) – Amey

उत्तर

3

Google "चयन आइटम सेलेनियम वेबड्राइवर" पहले परिणाम के रूप में How do I set an option as selected using Selenium WebDriver (selenium 2.0) client in ruby लाता है। यह जावा नहीं है, लेकिन आप इसे बहुत अधिक काम किए बिना अनुवाद करने में सक्षम होना चाहिए। https://sqa.stackexchange.com/questions/1355/what-is-the-correct-way-to-select-an-option-using-seleniums-python-webdriver शीर्ष 5 में है, फिर जावा नहीं है लेकिन एपीआई बहुत समान है।

41

उपयोग -

new Select(driver.findElement(By.id("gender"))).selectByVisibleText("Germany"); 
बेशक

, आप import org.openqa.selenium.support.ui.Select;

+3

ध्यान दें कि सी # कक्षा में 'select' के बजाय 'selectElement' है। इसके अलावा यह इस वर्ग का उपयोग करने के लिए कोर 'सेलेनियम। वेबड्राइवर' पैकेज का हिस्सा नहीं है, आपको 'सेलेनियम सपोर्ट' पैकेज भी इंस्टॉल करना होगा। –

+0

क्या आप कृपया हमें बता सकते हैं कि हमें WebElement को एक चयन उदाहरण में बदलने की आवश्यकता क्यों है? क्या यह केवल इतना है कि हम विशिष्ट विधियों का चयन कर सकते हैं जो चुनने के लिए स्वचालित बनाना आसान बनाता है? साथ ही, क्या हम चयन वर्ग का उपयोग किए बिना एक चयन स्वचालित कर सकते हैं? – testerjoe2

3
WebElement selectgender = driver.findElement(By.id("gender")); 
selectgender.sendKeys("Male"); 
3

को आप उपयोग कर सकते हैं मैत्रेय द्वारा पोस्ट की गई के रूप में सेलेनियम WebDriver के वर्ग 'चुनें' की जरूरत है। क्षमा करें, लेकिन मैं "जर्मनी" के साथ स्ट्रिंग की तुलना करने के लिए ड्रॉप डाउन से लिंग चुनने के लिए थोड़ा उलझन में हूं। यहाँ कोड का टुकड़ा,

Select gender = new Select(driver.findElement(By.id("gender"))); 
gender.selectByVisibleText("Male/Female"); 

आयात import org.openqa.selenium.support.ui.Select; ऊपर कोड जोड़ने के बाद है। अब लिंग चुना जाएगा जिसे आपने कभी दिया (पुरुष/महिला)।

0
public class checkBoxSel { 

    public static void main(String[] args) { 

     WebDriver driver = new FirefoxDriver(); 
     EventFiringWebDriver dr = null ; 


     dr = new EventFiringWebDriver(driver); 
     dr.get("http://www.google.co.in/"); 

     dr.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 

     dr.findElement(By.linkText("Gmail")).click() ; 

     Select sel = new Select(driver.findElement(By.tagName("select"))); 
     sel.selectByValue("fil"); 

    } 

} 

मैं सेलेक्शन विकल्प का परीक्षण करने के लिए GOOGLE LOGIN PAGE का उपयोग कर रहा हूं। उपर्युक्त उदाहरण ड्रॉप डाउन सूची से भाषा "फिलिपिनो" ढूंढना और चुनना था। मुझे यकीन है कि इससे समस्या हल हो जाएगी।

1
WebElement select = driver.findElement(By.id("gender")); 
List<WebElement> options = select.findElements(By.tagName("option")); 
for (WebElement option : options) { 
    if("Germany".equals(option.getText())) 
     option.click(); 
} 
21

बस के रूप में नीचे

Select dropdown = new Select(driver.findElement(By.id("identifier"))); 

से पता चला एक बार यह आप 3 तरीके में आवश्यक मान का चयन कर सकते हैं किया जाता है वस्तु का चयन में अपने WebElement लपेट दें। लटकती की पहचान करने के

Select dropdown = new Select(driver.findElement(By.id("designation"))); 

है अपने विकल्प कहते हैं 'प्रोग्रामर' का चयन करने के लिए अब इस

<html> 
<body> 
<select id = "designation"> 
<option value = "MD">MD</option> 
<option value = "prog"> Programmer </option> 
<option value = "CEO"> CEO </option> 
</option> 
</select> 
<body> 
</html> 

की तरह एक HTML फ़ाइल पर विचार करें जो आप कर सकते

dropdown.selectByVisibleText("Programmer "); 

या

dropdown.selectByIndex(1); 

या

dropdown.selectByValue("prog"); 

मुबारक कोडिंग :)

5

टैगनाम आपको लगता है कि "विकल्प" की तरह का उल्लेख किया जाना चाहिए, यह काम करना चाहिए अगर अंतरिक्ष के साथ पाठ हम इस विधि का उपयोग कर सकते हैं।

WebElement select = driver.findElement(By.id("gender")); 
List<WebElement> options = select.findElements(By.tagName("option")); 

for (WebElement option : options) { 

if("Germany".equals(option.getText().trim())) 

option.click(); 
} 
1

कि विशेष रूप से लटकती तत्व

Select gender = new Select(driver.findElement(By.id("gender"))); 

ड्रॉपडाउन बॉक्स में सभी तत्व की सूची प्राप्त करने के जानने के लिए

for(int j=1;j<3;j++) 
    System.out.println(gender.getOptions().get(j).getText()); 

दिखाई दे रहे पाठ के माध्यम से चयन करने के लिए optoion

gender.selectByVisibleText("Male"); 

सेल करने के लिए ect यह सूचकांक द्वारा

gender.selectByIndex(1);