如何比较属性值和字符串

时间:2017-12-08 11:16:19

标签: java selenium

我在网页上使用以下代码来获取字段的getAttribute: -

    List<WebElement> EngDesc = driver.findElements(By.xpath("//input[@id='EngDesc']"));
        System.out.println("List size: "+EngDesc.size());
        for(WebElement list : EngDesc ){
            System.out.println("search value: "+list.getAttribute("value"));
            if(list.getAttribute("Value").equals("CHARGEABLE")) {
                System.out.println("This is General");   
             }

以下是我得到的输出: -

  

清单大小:1   搜索值:可充电   线程“main”java.lang.NullPointerException中的异常       at newrequestFlow.Index.main(Index.java:81)

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

您看到的错误说明如下:

NullPointerException at newrequestFlow.Index.main(Index.java:81)

findElements(By.xpath("//input[@id='EngDesc']"));仅返回 1 条目。 最初在for()循环中,您使用 list.getAttribute("value") 。但稍后您尝试使用 list.getAttribute("Value")

  

value Value 属性不同,可能没有属性 Value 。因此返回 Null ,并观察到 java.lang.NullPointerException

解决方案

List<WebElement> EngDesc = driver.findElements(By.xpath("//input[@id='EngDesc']"));
    System.out.println("List size: "+EngDesc.size());
    for(WebElement list : EngDesc )
    {
        System.out.println("search value: "+list.getAttribute("value"));
        if(list.getAttribute("value").equals("CHARGEABLE")) 
        {
            System.out.println("This is General");   
        }
    }