如何在Java/Selenium中将元素添加到列表中
网页连结:- 我想将元素(蔬菜/水果名称)添加到列表中,并想通过单击“下一步”按钮打印列表,但我得到了 错误为:java.lang.NullPointerException,在第行(vegielist1.add(element);) 代码:如何在Java/Selenium中将元素添加到列表中,java,list,selenium-webdriver,stream,testng,Java,List,Selenium Webdriver,Stream,Testng,网页连结:- 我想将元素(蔬菜/水果名称)添加到列表中,并想通过单击“下一步”按钮打印列表,但我得到了 错误为:java.lang.NullPointerException,在第行(vegielist1.add(element);) 代码: public void seleniumStream1(){ System.setProperty(“webdriver.chrome.driver”,“C:\\Drivers\\chromedriver.exe”); WebDriver驱动程序=新的Chr
public void seleniumStream1(){
System.setProperty(“webdriver.chrome.driver”,“C:\\Drivers\\chromedriver.exe”);
WebDriver驱动程序=新的ChromeDriver();
驱动程序。获取(“https://rahulshettyacademy.com/seleniumPractise/#/offers");
WebDriverWait wait=新的WebDriverWait(驱动程序,15);
WebElement next1=driver.findelelement(By.cssSelector(“[aria label='Next']”);
List vegielist1=null;
对于(int i=0;i<4;i++){
List vegies1=driver.findElements(By.xpath(“//tbody/tr/td[1]”);
for(WebElement:veggies1){
蔬菜列表1.添加(元素);
}
if(next1.getAttribute(“aria禁用”).equalsIgnoreCase(“false”)){
next1.click();
}
}
for(WebElement元素1:veggieList1){
System.out.println(element1.toString());
}
driver.close();
}
}您正在将
veggieList1
初始化为null
在线List veggieList1=null代码>。您应该使用List vegielist1=new ArrayList()代码>如果希望使用空列表初始化此变量。谢谢,我已相应地更新了代码,但是现在我得到了另一个错误:org.openqa.selenium.StaleElementReferenceException:stale元素引用:当我尝试打印页面时,元素未附加到页面文档的行中元素。对于(WebElement element1:veggieList1){System.out.println(element1.getText());}这一行不在您发布的代码中,但如果出现异常,我建议查看getText()
的文档。抱歉,我只使用了get Text(),但得到了错误。
public void seleniumStream1() {
System.setProperty("webdriver.chrome.driver", "C:\\Drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://rahulshettyacademy.com/seleniumPractise/#/offers");
WebDriverWait wait = new WebDriverWait(driver, 15);
WebElement next1 = driver.findElement(By.cssSelector("[aria-label='Next']"));
List<WebElement> veggieList1 = null;
for (int i = 0; i < 4; i++) {
List<WebElement> veggies1 = driver.findElements(By.xpath("//tbody/tr/td[1]"));
for (WebElement element : veggies1) {
veggieList1.add(element);
}
if (next1.getAttribute("aria-disabled").equalsIgnoreCase("false")) {
next1.click();
}
}
for (WebElement element1 : veggieList1) {
System.out.println(element1.toString());
}
driver.close();
}