[英]Selenium webdriver store webelement in webelement list
How to store webelement in webelement list?如何将 webelement 存储在 webelement 列表中? I have created list for webelement and passing webelement obj in add method, but system display null exception.
我已经为 webelement 创建了列表并在 add 方法中传递了 webelement obj,但系统显示 null 异常。 Java Code:
List<WebElement> element=null;
Java 代码:
List<WebElement> element=null;
and in for loop i am passing webelement obj in add method like: WebElement we = driver...("test"); element.add(0,we);
在 for 循环中,我在 add 方法中传递 webelement obj,例如:
WebElement we = driver...("test"); element.add(0,we);
WebElement we = driver...("test"); element.add(0,we);
Why I am getting null pointer exception ( java.lang.NullPointerException
)?为什么我得到空指针异常(
java.lang.NullPointerException
)?
I would appreciate your inputs.我将不胜感激您的投入。
public void test(){
List<WebElement> element = null;
int rows=1;
for(int i=1; i<=rows;i++){
text=driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+i+"]/td/p")).getText();
if(!text.equals("")){
for(int j=1;j<=rows;j++){
if(isElementPresent(driver, By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"))){
WebElement we =driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
element.add(we);
rows++;
}
}
}else{
break;
}
}
for(WebElement we:element){
we.click();
}
}
Thanks,谢谢,
You setted element to null and then tried to add something to it.您将 element 设置为 null,然后尝试向其中添加一些内容。 You cannot add anything to it as it IS null!
你不能添加任何东西,因为它是空的!
Instead, try this:相反,试试这个:
List<WebElement> element=new ArrayList<WebElement>();
...
As you can see, I initialized the object before using it, so it no longer should be null.如您所见,我在使用对象之前对其进行了初始化,因此它不应再为 null。
Please replace your following line :请替换您的以下行:
WebElement we = driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
With following :与以下:
java.util.List<WebElement> element= driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
Also you can get list size using : System.out.println(we.size());您也可以使用以下方法获取列表大小: System.out.println(we.size()); Let me know if any query.
如果有任何疑问,请告诉我。
List albums = driver.findElements(By.cssSelector("._3rte"))列出专辑 = driver.findElements(By.cssSelector("._3rte"))
Worked for me.为我工作。
The selector is of course up to you.选择器当然取决于你。 The first part is the important bit
第一部分是重要的一点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.