【问题标题】:How to add elements into a List in Java/Selenium如何在 Java/Selenium 中将元素添加到列表中
【发布时间】:2021-01-18 05:07:21
【问题描述】:

页面链接:-https://rahulshettyacademy.com/seleniumPractise/#/offers

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

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

代码:

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

}

【问题讨论】:

    标签: java list selenium-webdriver stream testng


    【解决方案1】:

    您在List&lt;WebElement&gt; veggieList1 = null; 线上将veggieList1 初始化为null。如果你想用一个空列表初始化这个变量,你应该使用List&lt;WebElement&gt; veggieList1 = new ArrayList&lt;&gt;();

    【讨论】:

    • 谢谢,我已经相应地更新了代码,但现在我收到另一个错误:org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attach to the page document at the line when I尝试打印元素。 for(WebElement element1: veggieList1) { System.out.println(element1.getText()); }
    • 该行不在您发布的代码中,但如果引发异常,我建议您查看getText() 的文档。
    • 道歉,我只使用了get Text(),但得到了错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2021-03-24
    相关资源
    最近更新 更多