我正在搜索具有动态ID的元素。我在下面写了代码,将这些元素添加到List List3中。但它会抛出NullPointerException错误:
public void markAnswers()
{
List<WebElement> List1 = driver.findElements(By.xpath("//div[@id='id1']/ul/li"));
List<WebElement> List2 = driver.findElements(By.xpath("//div[@class='id2']/div"));
System.out.println(List1.size());
String str;
StringBuilder sb=new StringBuilder();
for(WebElement el: List2)
{
str=el.getAttribute("id");
System.out.println(str);
Utilities.waitFor(5000);
WebElement element = driver.findElement(By.xpath("//div[@id='"+str+"']/div[4]/div[1]/ul[1]/li/input"));
element.click();
element.getAttribute("innerHTML");
List3.add(element);
}
}
请帮忙。
答案 0 :(得分:0)
列表未正确初始化。初始化如下,问题已解决:
List<WebElement> List1 = new ArrayList<WebElement>();
答案 1 :(得分:0)
@Abhinav - 您已正确初始化列表,但您可能没有添加正确的包。检查您是否已导入以下包裹:
import java.util.List;
以上导入,您使用后应该正常工作: -
List List1 = driver.findElements(By.xpath(&#34; // div [@id =&#39; id1&#39;] / ul / li&#34;));