RE: How to pass array of WebElement type to a method

Answered

Hi there,

I am trying to create 2 methods viz One method to locate web element on the page using driver.findElement. Method accepts set of multiple xpaths from excel file like xpath1,xpath2,xpath3…..so on. On next I have separated all xpaths based on ‘,’ comma sign using split() and saved them into an array ‘strarray’ and did driver.findElement(By.xpath(“strarray[i]”) using loop.

Now issue is that, I need to save these values into an array of WebElement type. After doing this, I need to return this array to some other method so that I can do further action using those returned value.

Is there any for implementing same. Or if I am wrong then please suggest a way.

Add Comment
7 Answers

Hi Vishal,

Your suggestion works like charm. Finally it worked with ArrayList of WebElement type. I am sharing that code which can help a newbie in future.

Here strelementidvalue is like xpath=/html/body/div[1]/div[5]/div[2]/div[5],/html/body/div[1]/div[5]/div[2]/div[5]/div/div[2],/html/body/div[1]/div[5]/div[2]

It contains 3 xpaths separated by ‘commas’ being read from excel file. After that each xpath has been separated ad processed to do locate element in required webpage. Everytime I added returning value i.e Webelement is being appended into ArrayList of WebElement type and this list is being returned as value of below mentioned menthod.

public ArrayList<WebElement> find_multipleElement(String strelementidvalue) throws IOException, InterruptedException{
strelementList = new ArrayList<WebElement>();
strarr1 = strelementidvalue.split(“=”);
if(strarr1.length == 2) {
strtext = strarr1[0];
strelmntxpath = strarr1[1];
if(strtext.equals(“xpath”)) {
try{
StringTokenizer st = new StringTokenizer(strelmntxpath,”,”);
while(st.hasMoreTokens()){
//strelement1 = st.nextToken();
strelementList.add(driver.findElement(By.xpath(st.nextToken())));
}
} catch(NoSuchElementException e) {
strelementList = null;
}
}
else
strelementList = null;
}

return strelementList;
}

Anyway Vishal, once again thanks for your help.

Train Answered on September 11, 2014.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.