如何在webelement列表中存储webelement?我已经为webelement创建了列表并在add方法中传递webelement obj,但是系统显示空异常。JavaCode:List
为什么我得到空指针异常(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();
}
}
谢谢,
您将元素设置为null,然后尝试向其添加一些内容。您不能向其添加任何内容,因为它为空!
相反,试试这个:
List<WebElement> element=new ArrayList<WebElement>();
...
如您所见,我在使用它之前初始化了对象,因此它不应该再为null。
请替换您的以下行:
WebElement we = driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
以下内容:
java.util.List<WebElement> element= driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
您还可以使用:System. out.println(we.size())获取列表大小;如果有任何查询,请告诉我。
列表相册=driver. findElements(By.cssSelector("._3rte"))
为我工作。
选择者当然由你决定。第一部分是重要的部分