Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java/Selenium中将元素添加到列表中_Java_List_Selenium Webdriver_Stream_Testng - Fatal编程技术网

如何在Java/Selenium中将元素添加到列表中

如何在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

网页连结:-

我想将元素(蔬菜/水果名称)添加到列表中,并想通过单击“下一步”按钮打印列表,但我得到了

错误为:java.lang.NullPointerException,在第行(vegielist1.add(element);

代码:

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();
}