java - Selenium webdriver 在 webelement 列表中存储 webelement

标签 java selenium-webdriver

如何在webelement列表中存储webelement?我已经为 webelement 创建列表并在 add 方法中传递 webelement obj,但系统显示空异常。 Java代码:List<WebElement> element=null;在 for 循环中,我在添加方法中传递 webelement obj,例如:WebElement we = driver...("test"); element.add(0,we);

为什么我会收到空​​指针异常 ( java.lang.NullPointerException )?

非常感谢您的意见。

 public void test(){
 List<WebElement> element = null;

    int rows=1;
    for(int i=1; i<=rows;i++){
        text=driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+i+"]/td/p")).getText();
        if(!text.equals("")){
            for(int j=1;j<=rows;j++){
                if(isElementPresent(driver, By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"))){
                    WebElement we =driver.findElement(By.xpath("//*[@id='testid']/table/tbody/tr["+(j+1)+"]/td[6]/a"));
                    element.add(we);
                    rows++;
                }
            }
        }else{
            break;
        }
    }
    for(WebElement we:element){
        we.click();
        }
    }

谢谢,

最佳答案

您将元素设置为空,然后尝试向其中添加内容。你不能向它添加任何东西,因为它是空的!

相反,试试这个:

List<WebElement> element=new ArrayList<WebElement>();
...

如您所见,我在使用对象之前对其进行了初始化,因此它不应再为 null。

关于java - Selenium webdriver 在 webelement 列表中存储 webelement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27503823/

相关文章:

java - 网络驱动程序 :Java - How to get all invsible buttons on webpage and click any one button

java - 如何在页面对象模式下突出显示 Selenium-Java 中的元素?

java - 如何在 Selenium Webdriver 中比较数组列表与列表 Web 元素

java - 在webdriver中,如何使用Java验证下拉字段是否显示

java - 如何更正计算器中的 "switch"(NoSuchElementException)?

java - 如何使用 perforce java api 将更改列表合并到另一个分支

java - 查找二维数组中数字的位置

java - 尽快在 Gradle 中测试子模块(无需配置其余项目)

java - 无法实现显式等待

c# - 在带有 .NET Core 的库 csproj 中使用 Selenium WebDriver