Selenium:NullPointerException通过xpath查找元素时出错
我正在搜索具有动态ID的元素。我已经编写了以下代码将这些元素添加到列表3中。但它抛出NullPointerException错误:Selenium:NullPointerException通过xpath查找元素时出错,selenium,xpath,nullpointerexception,Selenium,Xpath,Nullpointerexception,我正在搜索具有动态ID的元素。我已经编写了以下代码将这些元素添加到列表3中。但它抛出NullPointerException错误: public void markAnswers() { List<WebElement> List1 = driver.findElements(By.xpath("//div[@id='id1']/ul/li")); List<WebElement> List2 = drive
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);
}
}
请帮助。列表未正确初始化。初始化如下,问题已解决:
List<WebElement> List1 = new ArrayList<WebElement>();
@您已经正确初始化了列表,但可能并没有添加正确的包。检查您是否已导入以下包: 导入java.util.List 使用上述导入,您使用的以下导入应该可以正常工作:-
List List1=driver.findElementsBy.xpath//div[@id='id1']/ul/li 编辑您的答案并添加详细的例外情况。是否在此处抛出NullPointerException元素。单击?这个元素存在吗?XPath好吗?如果您使用的是Chrome,请转到控制台并键入$x'//div[@id=YOUR_STRING]/div[4]/div[1]/ul[1]/li/input'以查看您是否可以在没有Selenium的情况下找到它。可能是您在getAttributeid方法中遇到该异常,我认为列表元素中没有该'id'。检查一下。或者您可以发布HTML代码。您在Web驱动程序上的何处创建了实例。可能是驱动程序在使用之前未初始化。getAttributeid打印正确的ID。Xpath是正确的。我在Firefox中验证了它,我已经导入了这个包,它能够找到删除项。问题在于初始化和执行修改问题已得到解决。谢谢