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Ā  Vishaalcbe,

Please have a look over below mentioned code.

private WebElement strelement = null;
private WebElement[] strelement1 = null;
private String strtext,strtemp,strelmntxpath;
private String[] strarr1,strarr2,strarr3;

public WebElement[] find_multipleElement(String strelementidvalue) throws IOException, InterruptedException{
System.out.println(“Entered inside the new keyword”);
strarr1 = strelementidvalue.split(“=”);
if(strarr1.length == 2) {
strtext = strarr1[0];
strelmntxpath = strarr1[1];
strarr2=strelmntxpath.split(“,”)
if(strtext.equals(“xpath”)) {
try {
for(int i=0; i<strarr2.length; i++){
WebElement strelmntxpath1 = driver.findElement(By.xpath(strarr2[i]));
strelement1[i] = strelmntxpath1;
}
}catch (NoSuchElementException e) {
strelement1 = null;
}
}
}
else
strelement1 = null;

return strelement1;
}

This is that method which should return an array of WebElement type

Suppose : Value passed to the function as strelementidvalue is

xpath=/html/body/div[1]/div/div[2]/div[3]/ul/li[1]/a/span[2],/html/body/div[1]/div/div[2]/div[3]/ul/li[9]/a/span[2],/html/body/div[1]/div/div[4]/div[3]/ul/li[12]/a/span[2]

Please help me regarding this

Train Answered on September 9, 2014.
Add Comment

Your Answer

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