如何在webelement列表中存储webelement?我已经为 webelement 创建列表并在 add 方法中传递 webelement obj,但系统显示空异常。
Java代码:List<WebElement> element=null;
在 for 循环中,我在添加方法中传递 webelement obj,例如:WebElement we = driver...("test"); element.add(0,we);
为什么我会收到空指针异常 ( java.lang.NullPointerException
)?
非常感谢您的意见。
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();
}
}
谢谢,
最佳答案
您将元素设置为空,然后尝试向其中添加内容。你不能向它添加任何东西,因为它是空的!
相反,试试这个:
List<WebElement> element=new ArrayList<WebElement>();
...
如您所见,我在使用对象之前对其进行了初始化,因此它不应再为 null。
关于java - Selenium webdriver 在 webelement 列表中存储 webelement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27503823/